]> andersk Git - libyaml.git/commitdiff
Limit input size to SIZE_MAX/2.
authorKirill Simonov <xi@resolvent.net>
Mon, 3 Feb 2014 06:26:46 +0000 (00:26 -0600)
committerKirill Simonov <xi@resolvent.net>
Mon, 3 Feb 2014 06:26:46 +0000 (00:26 -0600)
src/reader.c
src/yaml_private.h

index 829e32da55c0bee1baf572d72b574076a7ca52eb..d47921ce2b216f031d9ec93f54da6628bdc448ec 100644 (file)
@@ -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;
 }
 
index f2483839b9c83688d002a24cec56cde5e1b185f5..540f6e25108ed307479a49802099f74f075e1e69 100644 (file)
@@ -8,6 +8,7 @@
 #include <assert.h>
 #include <limits.h>
 #include <stddef.h>
+#include <stdint.h>
 
 /*
  * Memory management.
This page took 0.55079 seconds and 5 git commands to generate.