| Index: core/fpdfapi/page/fpdf_page_parser.cpp
|
| diff --git a/core/fpdfapi/page/fpdf_page_parser.cpp b/core/fpdfapi/page/fpdf_page_parser.cpp
|
| index 124bf71189f889be790a06c0a98574a71c1a8b03..737c971b90341c4930e92b302e82cc20b6717151 100644
|
| --- a/core/fpdfapi/page/fpdf_page_parser.cpp
|
| +++ b/core/fpdfapi/page/fpdf_page_parser.cpp
|
| @@ -234,24 +234,19 @@ CPDF_StreamContentParser::CPDF_StreamContentParser(
|
| CPDF_StreamContentParser::~CPDF_StreamContentParser() {
|
| ClearAllParams();
|
| FX_Free(m_pPathPoints);
|
| - if (m_pLastImageDict) {
|
| - m_pLastImageDict->Release();
|
| - }
|
| - if (m_pLastCloneImageDict) {
|
| - m_pLastCloneImageDict->Release();
|
| - }
|
| + delete m_pLastImageDict;
|
| + delete m_pLastCloneImageDict;
|
| }
|
|
|
| int CPDF_StreamContentParser::GetNextParamPos() {
|
| if (m_ParamCount == PARAM_BUF_SIZE) {
|
| m_ParamStartPos++;
|
| - if (m_ParamStartPos == PARAM_BUF_SIZE) {
|
| + if (m_ParamStartPos == PARAM_BUF_SIZE)
|
| m_ParamStartPos = 0;
|
| - }
|
| - if (m_ParamBuf[m_ParamStartPos].m_Type == 0) {
|
| - if (CPDF_Object* pObject = m_ParamBuf[m_ParamStartPos].m_pObject)
|
| - pObject->Release();
|
| - }
|
| +
|
| + if (m_ParamBuf[m_ParamStartPos].m_Type == 0)
|
| + delete m_ParamBuf[m_ParamStartPos].m_pObject;
|
| +
|
| return m_ParamStartPos;
|
| }
|
| int index = m_ParamStartPos + m_ParamCount;
|
| @@ -298,14 +293,12 @@ void CPDF_StreamContentParser::AddObjectParam(CPDF_Object* pObj) {
|
| void CPDF_StreamContentParser::ClearAllParams() {
|
| uint32_t index = m_ParamStartPos;
|
| for (uint32_t i = 0; i < m_ParamCount; i++) {
|
| - if (m_ParamBuf[index].m_Type == 0) {
|
| - if (CPDF_Object* pObject = m_ParamBuf[index].m_pObject)
|
| - pObject->Release();
|
| - }
|
| + if (m_ParamBuf[index].m_Type == 0)
|
| + delete m_ParamBuf[index].m_pObject;
|
| +
|
| index++;
|
| - if (index == PARAM_BUF_SIZE) {
|
| + if (index == PARAM_BUF_SIZE)
|
| index = 0;
|
| - }
|
| }
|
| m_ParamStartPos = 0;
|
| m_ParamCount = 0;
|
| @@ -585,7 +578,7 @@ void CPDF_StreamContentParser::Handle_BeginImage() {
|
| m_pSyntax->GetWordSize());
|
| if (bsKeyword != "ID") {
|
| m_pSyntax->SetPos(savePos);
|
| - pDict->Release();
|
| + delete pDict;
|
| return;
|
| }
|
| }
|
| @@ -594,8 +587,7 @@ void CPDF_StreamContentParser::Handle_BeginImage() {
|
| }
|
| CFX_ByteString key((const FX_CHAR*)m_pSyntax->GetWordBuf() + 1,
|
| m_pSyntax->GetWordSize() - 1);
|
| - std::unique_ptr<CPDF_Object, ReleaseDeleter<CPDF_Object>> pObj(
|
| - m_pSyntax->ReadNextObject(false, 0));
|
| + std::unique_ptr<CPDF_Object> pObj(m_pSyntax->ReadNextObject(false, 0));
|
| if (!key.IsEmpty()) {
|
| uint32_t dwObjNum = pObj ? pObj->GetObjNum() : 0;
|
| if (dwObjNum)
|
| @@ -638,9 +630,9 @@ void CPDF_StreamContentParser::Handle_BeginImage() {
|
| CPDF_ImageObject* pImgObj = AddImage(pStream, nullptr, true);
|
| if (!pImgObj) {
|
| if (pStream) {
|
| - pStream->Release();
|
| + delete pStream;
|
| } else {
|
| - pDict->Release();
|
| + delete pDict;
|
| }
|
| }
|
| }
|
|
|