| Index: core/fpdfapi/page/cpdf_streamparser.cpp
|
| diff --git a/core/fpdfapi/page/cpdf_streamparser.cpp b/core/fpdfapi/page/cpdf_streamparser.cpp
|
| index fd5267b111446e21ad8188c0cb7b1edf25790757..cf87ce9954b155c21617b95e0f03e75345095667 100644
|
| --- a/core/fpdfapi/page/cpdf_streamparser.cpp
|
| +++ b/core/fpdfapi/page/cpdf_streamparser.cpp
|
| @@ -178,21 +178,22 @@ std::unique_ptr<CPDF_Stream> CPDF_StreamParser::ReadInlineStream(
|
| return nullptr;
|
|
|
| OrigSize *= height;
|
| - uint8_t* pData = nullptr;
|
| + std::unique_ptr<uint8_t, FxFreeDeleter> pData;
|
| uint32_t dwStreamSize;
|
| if (Decoder.IsEmpty()) {
|
| if (OrigSize > m_Size - m_Pos)
|
| OrigSize = m_Size - m_Pos;
|
| - pData = FX_Alloc(uint8_t, OrigSize);
|
| - FXSYS_memcpy(pData, m_pBuf + m_Pos, OrigSize);
|
| + pData.reset(FX_Alloc(uint8_t, OrigSize));
|
| + FXSYS_memcpy(pData.get(), m_pBuf + m_Pos, OrigSize);
|
| dwStreamSize = OrigSize;
|
| m_Pos += OrigSize;
|
| } else {
|
| + uint8_t* pIgnore;
|
| uint32_t dwDestSize = OrigSize;
|
| dwStreamSize =
|
| PDF_DecodeInlineStream(m_pBuf + m_Pos, m_Size - m_Pos, width, height,
|
| - Decoder, pParam, pData, dwDestSize);
|
| - FX_Free(pData);
|
| + Decoder, pParam, pIgnore, dwDestSize);
|
| + FX_Free(pIgnore);
|
| if (static_cast<int>(dwStreamSize) < 0)
|
| return nullptr;
|
|
|
| @@ -216,12 +217,13 @@ std::unique_ptr<CPDF_Stream> CPDF_StreamParser::ReadInlineStream(
|
| dwStreamSize += m_Pos - dwPrevPos;
|
| }
|
| m_Pos = dwSavePos;
|
| - pData = FX_Alloc(uint8_t, dwStreamSize);
|
| - FXSYS_memcpy(pData, m_pBuf + m_Pos, dwStreamSize);
|
| + pData.reset(FX_Alloc(uint8_t, dwStreamSize));
|
| + FXSYS_memcpy(pData.get(), m_pBuf + m_Pos, dwStreamSize);
|
| m_Pos += dwStreamSize;
|
| }
|
| pDict->SetNewFor<CPDF_Number>("Length", (int)dwStreamSize);
|
| - return pdfium::MakeUnique<CPDF_Stream>(pData, dwStreamSize, std::move(pDict));
|
| + return pdfium::MakeUnique<CPDF_Stream>(std::move(pData), dwStreamSize,
|
| + std::move(pDict));
|
| }
|
|
|
| CPDF_StreamParser::SyntaxType CPDF_StreamParser::ParseNextElement() {
|
|
|