Index: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp |
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp |
index 73da3619bb4ba7dfc8f860db13f327c18f69b6c3..1b16c12d8ad4ddf39b66591566cb2238ce6bac6e 100644 |
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp |
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp |
@@ -392,11 +392,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); |