diff options
-rw-r--r-- | src/reader.c | 4 | ||||
-rw-r--r-- | src/yaml_private.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/reader.c b/src/reader.c index 829e32d..d47921c 100644 --- a/src/reader.c +++ b/src/reader.c @@ -460,6 +460,10 @@ yaml_parser_update_buffer(yaml_parser_t *parser, size_t length) } + if (parser->offset >= PTRDIFF_MAX) + return yaml_parser_set_reader_error(parser, "input is too long", + PTRDIFF_MAX, -1); + return 1; } diff --git a/src/yaml_private.h b/src/yaml_private.h index f248383..540f6e2 100644 --- a/src/yaml_private.h +++ b/src/yaml_private.h @@ -8,6 +8,7 @@ #include <assert.h> #include <limits.h> #include <stddef.h> +#include <stdint.h> /* * Memory management. |