From 661008dde7356ee2ed69787125863539b73b041c Mon Sep 17 00:00:00 2001 From: npm Date: Mon, 9 Jan 2017 07:52:30 -0800 Subject: Do not parse references with invalid objnum We should not have valid objects where the object number is CPDF_Object::kInvalidObjNum. BUG=pdfium:609 Review-Url: https://codereview.chromium.org/2610393004 --- core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp') diff --git a/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp b/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp index faaa83dd19..64c33ba9cd 100644 --- a/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp +++ b/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp @@ -5,6 +5,7 @@ #include #include +#include "core/fpdfapi/parser/cpdf_object.h" #include "core/fpdfapi/parser/cpdf_parser.h" #include "core/fpdfapi/parser/cpdf_syntax_parser.h" #include "core/fxcrt/fx_ext.h" @@ -143,3 +144,13 @@ TEST(cpdf_syntax_parser, ReadHexString) { EXPECT_EQ(1, parser.SavePos()); } } + +TEST(cpdf_syntax_parser, GetInvalidReference) { + CPDF_SyntaxParser parser; + // Data with a reference with number CPDF_Object::kInvalidObjNum + uint8_t data[] = "4294967295 0 R"; + parser.InitParser(IFX_MemoryStream::Create(data, 14, false), 0); + std::unique_ptr ref = + parser.GetObject(nullptr, CPDF_Object::kInvalidObjNum, 0, false); + EXPECT_FALSE(ref); +} -- cgit v1.2.3