| Index: core/fpdfapi/page/cpdf_streamparser.cpp
|
| diff --git a/core/fpdfapi/page/cpdf_streamparser.cpp b/core/fpdfapi/page/cpdf_streamparser.cpp
|
| index 2c2be0bd2749b1e9d0c1cdc628dec46cb7a2cae7..6b4a3622575c5888108994082fb5c308b6a39309 100644
|
| --- a/core/fpdfapi/page/cpdf_streamparser.cpp
|
| +++ b/core/fpdfapi/page/cpdf_streamparser.cpp
|
| @@ -8,6 +8,8 @@
|
|
|
| #include <limits.h>
|
|
|
| +#include <utility>
|
| +
|
| #include "core/fpdfapi/cpdf_modulemgr.h"
|
| #include "core/fpdfapi/page/cpdf_docpagedata.h"
|
| #include "core/fpdfapi/parser/cpdf_array.h"
|
| @@ -230,7 +232,7 @@ CPDF_Stream* CPDF_StreamParser::ReadInlineStream(CPDF_Document* pDoc,
|
| FXSYS_memcpy(pData, m_pBuf + m_Pos, dwStreamSize);
|
| m_Pos += dwStreamSize;
|
| }
|
| - pDict->SetIntegerFor("Length", (int)dwStreamSize);
|
| + pDict->SetNewFor<CPDF_Number>("Length", (int)dwStreamSize);
|
| return new CPDF_Stream(pData, dwStreamSize, pDict);
|
| }
|
|
|
| @@ -361,16 +363,13 @@ CPDF_Object* CPDF_StreamParser::ReadNextObject(bool bAllowNestedArray,
|
|
|
| CFX_ByteString key =
|
| PDF_NameDecode(CFX_ByteStringC(m_WordBuffer + 1, m_WordSize - 1));
|
| - CPDF_Object* pObj = ReadNextObject(true, 0);
|
| + auto pObj = pdfium::WrapUnique(ReadNextObject(true, 0));
|
| if (!pObj) {
|
| delete pDict;
|
| return nullptr;
|
| }
|
| -
|
| - if (key.IsEmpty())
|
| - delete pObj;
|
| - else
|
| - pDict->SetFor(key, pObj);
|
| + if (!key.IsEmpty())
|
| + pDict->SetFor(key, std::move(pObj));
|
| }
|
| return pDict;
|
| }
|
|
|