summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp')
-rw-r--r--core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp11
1 files changed, 11 insertions, 0 deletions
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 <limits>
#include <string>
+#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<CPDF_Object> ref =
+ parser.GetObject(nullptr, CPDF_Object::kInvalidObjNum, 0, false);
+ EXPECT_FALSE(ref);
+}