From c9479c77ed4bd43099e53b272d395f62d58b461b Mon Sep 17 00:00:00 2001 From: Kirill Simonov Date: Mon, 3 Feb 2014 00:26:46 -0600 Subject: Limit input size to SIZE_MAX/2. --- src/reader.c | 4 ++++ src/yaml_private.h | 1 + 2 files changed, 5 insertions(+) (limited to 'src') 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 #include #include +#include /* * Memory management. -- cgit v1.2.1