Index: core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp |
diff --git a/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp b/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp |
index e6f531da5305c510ccbb6043fecb8bb96d409cf1..219a72507b7a9f80ae2626a3f14ff9858b21eab4 100644 |
--- a/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp |
+++ b/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp |
@@ -50,18 +50,18 @@ const uint16_t PDFDocEncoding[256] = { |
0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, 0x00f8, 0x00f9, 0x00fa, 0x00fb, |
0x00fc, 0x00fd, 0x00fe, 0x00ff}; |
-FX_DWORD A85Decode(const uint8_t* src_buf, |
- FX_DWORD src_size, |
+uint32_t A85Decode(const uint8_t* src_buf, |
+ uint32_t src_size, |
uint8_t*& dest_buf, |
- FX_DWORD& dest_size) { |
+ uint32_t& dest_size) { |
dest_size = 0; |
dest_buf = nullptr; |
if (src_size == 0) |
return 0; |
// Count legal characters and zeros. |
- FX_DWORD zcount = 0; |
- FX_DWORD pos = 0; |
+ uint32_t zcount = 0; |
+ uint32_t pos = 0; |
while (pos < src_size) { |
uint8_t ch = src_buf[pos]; |
if (ch == 'z') { |
@@ -78,9 +78,9 @@ FX_DWORD A85Decode(const uint8_t* src_buf, |
// Count the space needed to contain non-zero characters. The encoding ratio |
// of Ascii85 is 4:5. |
- FX_DWORD space_for_non_zeroes = (pos - zcount) / 5 * 4 + 4; |
+ uint32_t space_for_non_zeroes = (pos - zcount) / 5 * 4 + 4; |
if (zcount > (UINT_MAX - space_for_non_zeroes) / 4) { |
- return (FX_DWORD)-1; |
+ return (uint32_t)-1; |
} |
dest_buf = FX_Alloc(uint8_t, zcount * 4 + space_for_non_zeroes); |
size_t state = 0; |
@@ -123,17 +123,17 @@ FX_DWORD A85Decode(const uint8_t* src_buf, |
return pos; |
} |
-FX_DWORD HexDecode(const uint8_t* src_buf, |
- FX_DWORD src_size, |
+uint32_t HexDecode(const uint8_t* src_buf, |
+ uint32_t src_size, |
uint8_t*& dest_buf, |
- FX_DWORD& dest_size) { |
+ uint32_t& dest_size) { |
dest_size = 0; |
if (src_size == 0) { |
dest_buf = nullptr; |
return 0; |
} |
- FX_DWORD i = 0; |
+ uint32_t i = 0; |
// Find the end of data. |
while (i < src_size && src_buf[i] != '>') |
i++; |
@@ -165,26 +165,26 @@ FX_DWORD HexDecode(const uint8_t* src_buf, |
return i; |
} |
-FX_DWORD RunLengthDecode(const uint8_t* src_buf, |
- FX_DWORD src_size, |
+uint32_t RunLengthDecode(const uint8_t* src_buf, |
+ uint32_t src_size, |
uint8_t*& dest_buf, |
- FX_DWORD& dest_size) { |
- FX_DWORD i = 0; |
- FX_DWORD old; |
+ uint32_t& dest_size) { |
+ uint32_t i = 0; |
+ uint32_t old; |
dest_size = 0; |
while (i < src_size) { |
if (src_buf[i] < 128) { |
old = dest_size; |
dest_size += src_buf[i] + 1; |
if (dest_size < old) { |
- return static_cast<FX_DWORD>(-1); |
+ return static_cast<uint32_t>(-1); |
} |
i += src_buf[i] + 2; |
} else if (src_buf[i] > 128) { |
old = dest_size; |
dest_size += 257 - src_buf[i]; |
if (dest_size < old) { |
- return static_cast<FX_DWORD>(-1); |
+ return static_cast<uint32_t>(-1); |
} |
i += 2; |
} else { |
@@ -192,17 +192,17 @@ FX_DWORD RunLengthDecode(const uint8_t* src_buf, |
} |
} |
if (dest_size >= _STREAM_MAX_SIZE_) { |
- return static_cast<FX_DWORD>(-1); |
+ return static_cast<uint32_t>(-1); |
} |
dest_buf = FX_Alloc(uint8_t, dest_size); |
i = 0; |
int dest_count = 0; |
while (i < src_size) { |
if (src_buf[i] < 128) { |
- FX_DWORD copy_len = src_buf[i] + 1; |
- FX_DWORD buf_left = src_size - i - 1; |
+ uint32_t copy_len = src_buf[i] + 1; |
+ uint32_t buf_left = src_size - i - 1; |
if (buf_left < copy_len) { |
- FX_DWORD delta = copy_len - buf_left; |
+ uint32_t delta = copy_len - buf_left; |
copy_len = buf_left; |
FXSYS_memset(dest_buf + dest_count + copy_len, '\0', delta); |
} |
@@ -221,7 +221,7 @@ FX_DWORD RunLengthDecode(const uint8_t* src_buf, |
break; |
} |
} |
- FX_DWORD ret = i + 1; |
+ uint32_t ret = i + 1; |
if (ret > src_size) { |
ret = src_size; |
} |
@@ -230,7 +230,7 @@ FX_DWORD RunLengthDecode(const uint8_t* src_buf, |
ICodec_ScanlineDecoder* FPDFAPI_CreateFaxDecoder( |
const uint8_t* src_buf, |
- FX_DWORD src_size, |
+ uint32_t src_size, |
int width, |
int height, |
const CPDF_Dictionary* pParams) { |
@@ -283,7 +283,7 @@ static FX_BOOL CheckFlateDecodeParams(int Colors, |
ICodec_ScanlineDecoder* FPDFAPI_CreateFlateDecoder( |
const uint8_t* src_buf, |
- FX_DWORD src_size, |
+ uint32_t src_size, |
int width, |
int height, |
int nComps, |
@@ -305,13 +305,13 @@ ICodec_ScanlineDecoder* FPDFAPI_CreateFlateDecoder( |
BitsPerComponent, Columns); |
} |
-FX_DWORD FPDFAPI_FlateOrLZWDecode(FX_BOOL bLZW, |
+uint32_t FPDFAPI_FlateOrLZWDecode(FX_BOOL bLZW, |
const uint8_t* src_buf, |
- FX_DWORD src_size, |
+ uint32_t src_size, |
CPDF_Dictionary* pParams, |
- FX_DWORD estimated_size, |
+ uint32_t estimated_size, |
uint8_t*& dest_buf, |
- FX_DWORD& dest_size) { |
+ uint32_t& dest_size) { |
int predictor = 0; |
FX_BOOL bEarlyChange = TRUE; |
int Colors = 0, BitsPerComponent = 0, Columns = 0; |
@@ -322,7 +322,7 @@ FX_DWORD FPDFAPI_FlateOrLZWDecode(FX_BOOL bLZW, |
BitsPerComponent = pParams->GetIntegerBy("BitsPerComponent", 8); |
Columns = pParams->GetIntegerBy("Columns", 1); |
if (!CheckFlateDecodeParams(Colors, BitsPerComponent, Columns)) { |
- return (FX_DWORD)-1; |
+ return (uint32_t)-1; |
} |
} |
return CPDF_ModuleMgr::Get()->GetFlateModule()->FlateOrLZWDecode( |
@@ -331,13 +331,13 @@ FX_DWORD FPDFAPI_FlateOrLZWDecode(FX_BOOL bLZW, |
} |
FX_BOOL PDF_DataDecode(const uint8_t* src_buf, |
- FX_DWORD src_size, |
+ uint32_t src_size, |
const CPDF_Dictionary* pDict, |
uint8_t*& dest_buf, |
- FX_DWORD& dest_size, |
+ uint32_t& dest_size, |
CFX_ByteString& ImageEncoding, |
CPDF_Dictionary*& pImageParms, |
- FX_DWORD last_estimated_size, |
+ uint32_t last_estimated_size, |
FX_BOOL bImageAcc) { |
CPDF_Object* pDecoder = pDict ? pDict->GetElementValue("Filter") : nullptr; |
if (!pDecoder || (!pDecoder->IsArray() && !pDecoder->IsName())) |
@@ -352,7 +352,7 @@ FX_BOOL PDF_DataDecode(const uint8_t* src_buf, |
if (!pParamsArray) |
pParams = nullptr; |
- for (FX_DWORD i = 0; i < pDecoders->GetCount(); i++) { |
+ for (uint32_t i = 0; i < pDecoders->GetCount(); i++) { |
DecoderList.push_back(pDecoders->GetConstStringAt(i)); |
ParamList.Add(pParams ? pParamsArray->GetDictAt(i) : nullptr); |
} |
@@ -361,7 +361,7 @@ FX_BOOL PDF_DataDecode(const uint8_t* src_buf, |
ParamList.Add(pParams ? pParams->GetDict() : nullptr); |
} |
uint8_t* last_buf = (uint8_t*)src_buf; |
- FX_DWORD last_size = src_size; |
+ uint32_t last_size = src_size; |
int nSize = pdfium::CollectionSize<int>(DecoderList); |
for (int i = 0; i < nSize; i++) { |
int estimated_size = i == nSize - 1 ? last_estimated_size : 0; |
@@ -369,7 +369,7 @@ FX_BOOL PDF_DataDecode(const uint8_t* src_buf, |
// Use ToDictionary here because we can push nullptr into the ParamList. |
CPDF_Dictionary* pParam = ToDictionary(ParamList[i]); |
uint8_t* new_buf = nullptr; |
- FX_DWORD new_size = (FX_DWORD)-1; |
+ uint32_t new_size = (uint32_t)-1; |
int offset = -1; |
if (decoder == "FlateDecode" || decoder == "Fl") { |
if (bImageAcc && i == nSize - 1) { |
@@ -431,12 +431,12 @@ FX_BOOL PDF_DataDecode(const uint8_t* src_buf, |
return TRUE; |
} |
-CFX_WideString PDF_DecodeText(const uint8_t* src_data, FX_DWORD src_len) { |
+CFX_WideString PDF_DecodeText(const uint8_t* src_data, uint32_t src_len) { |
CFX_WideString result; |
if (src_len >= 2 && ((src_data[0] == 0xfe && src_data[1] == 0xff) || |
(src_data[0] == 0xff && src_data[1] == 0xfe))) { |
bool bBE = src_data[0] == 0xfe; |
- FX_DWORD max_chars = (src_len - 2) / 2; |
+ uint32_t max_chars = (src_len - 2) / 2; |
if (!max_chars) { |
return result; |
} |
@@ -446,7 +446,7 @@ CFX_WideString PDF_DecodeText(const uint8_t* src_data, FX_DWORD src_len) { |
FX_WCHAR* dest_buf = result.GetBuffer(max_chars); |
const uint8_t* uni_str = src_data + 2; |
int dest_pos = 0; |
- for (FX_DWORD i = 0; i < max_chars * 2; i += 2) { |
+ for (uint32_t i = 0; i < max_chars * 2; i += 2) { |
uint16_t unicode = bBE ? (uni_str[i] << 8 | uni_str[i + 1]) |
: (uni_str[i + 1] << 8 | uni_str[i]); |
if (unicode == 0x1b) { |
@@ -466,7 +466,7 @@ CFX_WideString PDF_DecodeText(const uint8_t* src_data, FX_DWORD src_len) { |
result.ReleaseBuffer(dest_pos); |
} else { |
FX_WCHAR* dest_buf = result.GetBuffer(src_len); |
- for (FX_DWORD i = 0; i < src_len; i++) |
+ for (uint32_t i = 0; i < src_len; i++) |
dest_buf[i] = PDFDocEncoding[src_data[i]]; |
result.ReleaseBuffer(src_len); |
} |
@@ -554,9 +554,9 @@ CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, FX_BOOL bHex) { |
} |
void FlateEncode(const uint8_t* src_buf, |
- FX_DWORD src_size, |
+ uint32_t src_size, |
uint8_t*& dest_buf, |
- FX_DWORD& dest_size) { |
+ uint32_t& dest_size) { |
CCodec_ModuleMgr* pEncoders = CPDF_ModuleMgr::Get()->GetCodecModule(); |
if (pEncoders) { |
pEncoders->GetFlateModule()->Encode(src_buf, src_size, dest_buf, dest_size); |
@@ -564,13 +564,13 @@ void FlateEncode(const uint8_t* src_buf, |
} |
void FlateEncode(const uint8_t* src_buf, |
- FX_DWORD src_size, |
+ uint32_t src_size, |
int predictor, |
int Colors, |
int BitsPerComponent, |
int Columns, |
uint8_t*& dest_buf, |
- FX_DWORD& dest_size) { |
+ uint32_t& dest_size) { |
CCodec_ModuleMgr* pEncoders = CPDF_ModuleMgr::Get()->GetCodecModule(); |
if (pEncoders) { |
pEncoders->GetFlateModule()->Encode(src_buf, src_size, predictor, Colors, |
@@ -579,10 +579,10 @@ void FlateEncode(const uint8_t* src_buf, |
} |
} |
-FX_DWORD FlateDecode(const uint8_t* src_buf, |
- FX_DWORD src_size, |
+uint32_t FlateDecode(const uint8_t* src_buf, |
+ uint32_t src_size, |
uint8_t*& dest_buf, |
- FX_DWORD& dest_size) { |
+ uint32_t& dest_size) { |
CCodec_ModuleMgr* pEncoders = CPDF_ModuleMgr::Get()->GetCodecModule(); |
if (pEncoders) { |
return pEncoders->GetFlateModule()->FlateOrLZWDecode( |