Index: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp |
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp |
index 4c2bb346a11f51b243694c0579073946a6f6a707..5909d0f75825c0423fd74cdbba89764c267bc7bf 100644 |
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp |
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp |
@@ -2385,8 +2385,9 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict( |
continue; |
} |
key = PDF_NameDecode(key); |
- CPDF_Object* pObj = GetObject(pObjList, objnum, gennum); |
- if (pObj == NULL) { |
+ nonstd::unique_ptr<CPDF_Object, ReleaseDeleter<CPDF_Object>> obj( |
+ GetObject(pObjList, objnum, gennum)); |
+ if (!obj) { |
if (pDict) { |
pDict->Release(); |
} |
@@ -2403,7 +2404,7 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict( |
} |
if (key.GetLength() > 1) { |
pDict->AddValue(CFX_ByteStringC(key.c_str() + 1, key.GetLength() - 1), |
- pObj); |
+ obj.release()); |
} |
} |
if (pContext) { |