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 03bc9aec58665ca7447938c25956de61995fe52f..cd22b31238509519d027764a5df57e8fdb6b7164 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); |