From 8365e76fe8a311eaf77c4b5d5c0b199de0238f07 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 11 Sep 2018 07:57:48 +0000 Subject: Make HexDecode()'s buffer out parameter a unique_ptr. Do the same for A85Decode(). Change-Id: Ic6a0e5e8a63defa104e35e97eb9ce4223aac23a7 Reviewed-on: https://pdfium-review.googlesource.com/41851 Commit-Queue: Lei Zhang Reviewed-by: Tom Sepez --- core/fpdfapi/page/cpdf_streamparser.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'core/fpdfapi/page/cpdf_streamparser.cpp') diff --git a/core/fpdfapi/page/cpdf_streamparser.cpp b/core/fpdfapi/page/cpdf_streamparser.cpp index 9533bb2a17..fe67634196 100644 --- a/core/fpdfapi/page/cpdf_streamparser.cpp +++ b/core/fpdfapi/page/cpdf_streamparser.cpp @@ -68,22 +68,24 @@ uint32_t DecodeInlineStream(pdfium::span src_span, CPDF_Dictionary* pParam, uint8_t** dest_buf, uint32_t* dest_size) { + *dest_buf = nullptr; + *dest_size = 0; if (decoder == "CCITTFaxDecode" || decoder == "CCF") { std::unique_ptr pDecoder = CreateFaxDecoder(src_span, width, height, pParam); return DecodeAllScanlines(std::move(pDecoder), dest_buf, dest_size); } + std::unique_ptr ignored_result; if (decoder == "ASCII85Decode" || decoder == "A85") - return A85Decode(src_span, dest_buf, dest_size); + return A85Decode(src_span, &ignored_result, dest_size); if (decoder == "ASCIIHexDecode" || decoder == "AHx") - return HexDecode(src_span, dest_buf, dest_size); + return HexDecode(src_span, &ignored_result, dest_size); if (decoder == "FlateDecode" || decoder == "Fl") { return FlateOrLZWDecode(false, src_span, pParam, *dest_size, dest_buf, dest_size); } - if (decoder == "LZWDecode" || decoder == "LZW") { + if (decoder == "LZWDecode" || decoder == "LZW") return FlateOrLZWDecode(true, src_span, pParam, 0, dest_buf, dest_size); - } if (decoder == "DCTDecode" || decoder == "DCT") { std::unique_ptr pDecoder = CPDF_ModuleMgr::Get()->GetJpegModule()->CreateDecoder( @@ -93,9 +95,8 @@ uint32_t DecodeInlineStream(pdfium::span src_span, } if (decoder == "RunLengthDecode" || decoder == "RL") return RunLengthDecode(src_span, dest_buf, dest_size); - *dest_size = 0; - *dest_buf = 0; - return 0xFFFFFFFF; + + return FX_INVALID_OFFSET; } } // namespace -- cgit v1.2.3