summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/reader.c4
-rw-r--r--src/yaml_private.h1
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.