Index: core/fpdfapi/fpdf_parser/cpdf_parser.cpp |
diff --git a/core/fpdfapi/fpdf_parser/cpdf_parser.cpp b/core/fpdfapi/fpdf_parser/cpdf_parser.cpp |
index 73ca71ef1a0ade19efa5fd954e3363ed22b2bb15..15af1ca5c7603264b291d6b87b144a62d5f03300 100644 |
--- a/core/fpdfapi/fpdf_parser/cpdf_parser.cpp |
+++ b/core/fpdfapi/fpdf_parser/cpdf_parser.cpp |
@@ -1012,7 +1012,7 @@ FX_BOOL CPDF_Parser::LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef) { |
} |
CFX_ArrayTemplate<uint32_t> WidthArray; |
- FX_SAFE_DWORD dwAccWidth = 0; |
+ FX_SAFE_UINT32 dwAccWidth = 0; |
for (uint32_t i = 0; i < pArray->GetCount(); i++) { |
WidthArray.Add(pArray->GetIntegerAt(i)); |
dwAccWidth += WidthArray[i]; |
@@ -1039,7 +1039,7 @@ FX_BOOL CPDF_Parser::LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef) { |
pdfium::base::checked_cast<uint32_t, int32_t>(startnum); |
uint32_t count = |
pdfium::base::checked_cast<uint32_t, int32_t>(arrIndex[i].second); |
- FX_SAFE_DWORD dwCaculatedSize = segindex; |
+ FX_SAFE_UINT32 dwCaculatedSize = segindex; |
dwCaculatedSize += count; |
dwCaculatedSize *= totalWidth; |
if (!dwCaculatedSize.IsValid() || |
@@ -1048,7 +1048,7 @@ FX_BOOL CPDF_Parser::LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef) { |
} |
const uint8_t* segstart = pData + segindex * totalWidth; |
- FX_SAFE_DWORD dwMaxObjNum = startnum; |
+ FX_SAFE_UINT32 dwMaxObjNum = startnum; |
dwMaxObjNum += count; |
uint32_t dwV5Size = m_ObjectInfo.empty() ? 0 : GetLastObjNum() + 1; |
if (!dwMaxObjNum.IsValid() || dwMaxObjNum.ValueOrDie() > dwV5Size) |