summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp')
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp b/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp
index 4363d3924c..fd8765a2d2 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp
@@ -278,6 +278,12 @@ bool CPDF_HintTables::ReadSharedObjHintTable(CFX_BitStream* hStream,
// greatest and least length of a shared object group, in bytes.
uint32_t dwDeltaGroupLen = hStream->GetBits(16);
+ if (dwFirstSharedObjNum >= CPDF_Parser::kMaxObjectNumber ||
+ m_nFirstPageSharedObjs >= CPDF_Parser::kMaxObjectNumber ||
+ dwSharedObjTotal >= CPDF_Parser::kMaxObjectNumber) {
+ return false;
+ }
+
int nFirstPageObjNum = GetFirstPageObjectNumber();
if (nFirstPageObjNum < 0)
return false;