From 34291b900ad0472eef582215cfce0d942a40fd16 Mon Sep 17 00:00:00 2001 From: Wei Li Date: Thu, 14 Jan 2016 14:46:04 -0800 Subject: Loose checking for trailer's size field Although trailer's size value is required by spec, other readers such as Acrobat or libpoppler can handle without it. Loose up the check to be more tolerant. BUG=pdfium:213 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1582193002 . --- core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'core') diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp index 03bc9aec58..cd22b31238 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp @@ -378,11 +378,11 @@ FX_BOOL CPDF_Parser::LoadAllCrossRefV4(FX_FILESIZE xrefpos) { } int32_t xrefsize = GetDirectInteger(m_pTrailer, "Size"); - if (xrefsize <= 0 || xrefsize > kMaxXRefSize) { - return FALSE; + if (xrefsize > 0 && xrefsize <= kMaxXRefSize) { + ShrinkObjectMap(xrefsize); + m_V5Type.SetSize(xrefsize); } - ShrinkObjectMap(xrefsize); - m_V5Type.SetSize(xrefsize); + CFX_FileSizeArray CrossRefList; CFX_FileSizeArray XRefStreamList; CrossRefList.Add(xrefpos); -- cgit v1.2.3