diff options
-rw-r--r-- | core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/src/fpdf_dataavail_embeddertest.cpp | 6 | ||||
-rw-r--r-- | fpdfsdk/src/fpdfview_embeddertest.cpp | 4 | ||||
-rw-r--r-- | testing/embedder_test.cpp | 14 |
4 files changed, 14 insertions, 12 deletions
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp index b6cfc4e89f..ed2863bcf3 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp @@ -9,7 +9,7 @@ class FPDFParserEmbeddertest : public EmbedderTest {}; TEST_F(FPDFParserEmbeddertest, LoadError_454695) { // Test trailer dictionary with $$ze instead of Size. - EXPECT_TRUE(OpenDocument("testing/resources/bug_454695.pdf")); + EXPECT_FALSE(OpenDocument("testing/resources/bug_454695.pdf")); } TEST_F(FPDFParserEmbeddertest, Bug_481363) { diff --git a/fpdfsdk/src/fpdf_dataavail_embeddertest.cpp b/fpdfsdk/src/fpdf_dataavail_embeddertest.cpp index 292ff79d05..730a793d63 100644 --- a/fpdfsdk/src/fpdf_dataavail_embeddertest.cpp +++ b/fpdfsdk/src/fpdf_dataavail_embeddertest.cpp @@ -10,11 +10,13 @@ class FPDFDataAvailEmbeddertest : public EmbedderTest {}; TEST_F(FPDFDataAvailEmbeddertest, TrailerUnterminated) { - // Document doesn't even open under XFA but must not crash. + // Document must load without crashing but is too malformed to be available. EXPECT_FALSE(OpenDocument("testing/resources/trailer_unterminated.pdf")); + EXPECT_FALSE(FPDFAvail_IsDocAvail(avail_, &hints_)); } TEST_F(FPDFDataAvailEmbeddertest, TrailerAsHexstring) { - // Document doesn't even open under XFA but must not crash. + // Document must load without crashing but is too malformed to be available. EXPECT_FALSE(OpenDocument("testing/resources/trailer_as_hexstring.pdf")); + EXPECT_FALSE(FPDFAvail_IsDocAvail(avail_, &hints_)); } diff --git a/fpdfsdk/src/fpdfview_embeddertest.cpp b/fpdfsdk/src/fpdfview_embeddertest.cpp index e369ed8404..36e79d777a 100644 --- a/fpdfsdk/src/fpdfview_embeddertest.cpp +++ b/fpdfsdk/src/fpdfview_embeddertest.cpp @@ -184,7 +184,7 @@ TEST_F(FPDFViewEmbeddertest, Crasher_113) { } TEST_F(FPDFViewEmbeddertest, Crasher_451830) { - // XFA branch detects this document as bad. + // Document is damaged and can't be opened. EXPECT_FALSE(OpenDocument("testing/resources/bug_451830.pdf")); } @@ -196,6 +196,6 @@ TEST_F(FPDFViewEmbeddertest, Crasher_452455) { } TEST_F(FPDFViewEmbeddertest, Crasher_454695) { - // XFA branch detects this document as bad. + // Document is damanged and can't be opened. EXPECT_FALSE(OpenDocument("testing/resources/bug_454695.pdf")); } diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp index c1d19b2cfc..36405d300c 100644 --- a/testing/embedder_test.cpp +++ b/testing/embedder_test.cpp @@ -97,9 +97,8 @@ void EmbedderTest::TearDown() { bool EmbedderTest::OpenDocument(const std::string& filename) { file_contents_ = GetFileContents(filename.c_str(), &file_length_); - if (!file_contents_) { + if (!file_contents_) return false; - } loader_ = new TestLoader(file_contents_, file_length_); file_access_.m_FileLen = static_cast<unsigned long>(file_length_); @@ -115,19 +114,20 @@ bool EmbedderTest::OpenDocument(const std::string& filename) { avail_ = FPDFAvail_Create(&file_avail_, &file_access_); (void)FPDFAvail_IsDocAvail(avail_, &hints_); - if (!FPDFAvail_IsLinearized(avail_)) { + if (!FPDFAvail_IsLinearized(avail_)) document_ = FPDF_LoadCustomDocument(&file_access_, nullptr); - } else { + else document_ = FPDFAvail_GetDocument(avail_, nullptr); - } - if (!document_) { + + if (!document_) return false; - } + int docType = DOCTYPE_PDF; if (FPDF_HasXFAField(document_, &docType)) { if (docType != DOCTYPE_PDF) (void)FPDF_LoadXFA(document_); } + (void)FPDF_GetDocPermissions(document_); (void)FPDFAvail_IsFormAvail(avail_, &hints_); |