Index: core/fpdfapi/parser/cpdf_stream.cpp |
diff --git a/core/fpdfapi/parser/cpdf_stream.cpp b/core/fpdfapi/parser/cpdf_stream.cpp |
index c221edec68624a9b86a6a9c4e3b7ee2eb89e0603..935c80c5c890d36d37a626a5e41a65a9efa7d7c1 100644 |
--- a/core/fpdfapi/parser/cpdf_stream.cpp |
+++ b/core/fpdfapi/parser/cpdf_stream.cpp |
@@ -17,7 +17,11 @@ CPDF_Stream::CPDF_Stream() {} |
CPDF_Stream::CPDF_Stream(uint8_t* pData, uint32_t size, CPDF_Dictionary* pDict) |
: m_pDict(pDict), m_dwSize(size), m_pDataBuf(pData) {} |
-CPDF_Stream::~CPDF_Stream() {} |
+CPDF_Stream::~CPDF_Stream() { |
+ m_ObjNum = kInvalidObjNum; |
+ if (m_pDict && m_pDict->GetObjNum() == kInvalidObjNum) |
+ m_pDict.release(); // lowercase release, release ownership. |
+} |
CPDF_Object::Type CPDF_Stream::GetType() const { |
return STREAM; |