mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-04 12:43:24 +00:00
fixed off-by-one in parser
This commit is contained in:
@@ -492,7 +492,7 @@ CheckedError Parser::Next() {
|
||||
if (has_sign) {
|
||||
// Check for +/-inf which is considered a float constant.
|
||||
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);
|
||||
token_ = kTokenFloatConstant;
|
||||
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.
|
||||
|
||||
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;
|
||||
- `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;
|
||||
|
||||
Reference in New Issue
Block a user