mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-29 10:22:01 +00:00
fixed off-by-one in parser
This commit is contained in:
@@ -492,7 +492,7 @@ CheckedError Parser::Next() {
|
|||||||
if (has_sign) {
|
if (has_sign) {
|
||||||
// Check for +/-inf which is considered a float constant.
|
// Check for +/-inf which is considered a float constant.
|
||||||
if (strncmp(cursor_, "inf", 3) == 0 &&
|
if (strncmp(cursor_, "inf", 3) == 0 &&
|
||||||
!(IsIdentifierStart(cursor_[4]) || is_digit(cursor_[4]))) {
|
!(IsIdentifierStart(cursor_[3]) || is_digit(cursor_[3]))) {
|
||||||
attribute_.assign(cursor_ - 1, cursor_ + 3);
|
attribute_.assign(cursor_ - 1, cursor_ + 3);
|
||||||
token_ = kTokenFloatConstant;
|
token_ = kTokenFloatConstant;
|
||||||
cursor_ += 3;
|
cursor_ += 3;
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ For details about **libFuzzer** see: https://llvm.org/docs/LibFuzzer.html
|
|||||||
To build and run these tests LLVM compiler (with clang frontend) and CMake should be installed before.
|
To build and run these tests LLVM compiler (with clang frontend) and CMake should be installed before.
|
||||||
|
|
||||||
The fuzzer section include four tests:
|
The fuzzer section include four tests:
|
||||||
|
- `annotator_fuzzer` checks that inputs given to the flatc --annotate are always parsable;
|
||||||
- `verifier_fuzzer` checks stability of deserialization engine for `Monster` schema;
|
- `verifier_fuzzer` checks stability of deserialization engine for `Monster` schema;
|
||||||
- `parser_fuzzer` checks stability of schema and json parser under various inputs;
|
- `parser_fuzzer` checks stability of schema and json parser under various inputs;
|
||||||
- `scalar_parser` focused on validation of the parser while parse numeric scalars in schema and/or json files;
|
- `scalar_parser` focused on validation of the parser while parse numeric scalars in schema and/or json files;
|
||||||
|
|||||||
Reference in New Issue
Block a user