Use default destructor for CPDF_Parser Slight member-order re-arrangment should avoid the need for an explicit clear. -- pack integers together while at it. Change-Id: Iadcb31ed9938445a651160e72a3db30cd017a8e8 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/89971 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_parser.cpp b/core/fpdfapi/parser/cpdf_parser.cpp index dde8886..611029f 100644 --- a/core/fpdfapi/parser/cpdf_parser.cpp +++ b/core/fpdfapi/parser/cpdf_parser.cpp
@@ -133,9 +133,7 @@ CPDF_Parser::CPDF_Parser() : CPDF_Parser(nullptr) {} -CPDF_Parser::~CPDF_Parser() { - ReleaseEncryptHandler(); -} +CPDF_Parser::~CPDF_Parser() = default; uint32_t CPDF_Parser::GetLastObjNum() const { return m_CrossRefTable->objects_info().empty()
diff --git a/core/fpdfapi/parser/cpdf_parser.h b/core/fpdfapi/parser/cpdf_parser.h index cce2f28..094e1dd 100644 --- a/core/fpdfapi/parser/cpdf_parser.h +++ b/core/fpdfapi/parser/cpdf_parser.h
@@ -183,11 +183,11 @@ bool m_bXRefStream = false; bool m_bXRefTableRebuilt = false; int m_FileVersion = 0; + uint32_t m_MetadataObjnum = 0; // m_CrossRefTable must be destroyed after m_pSecurityHandler due to the // ownership of the ID array data. std::unique_ptr<CPDF_CrossRefTable> m_CrossRefTable; FX_FILESIZE m_LastXRefOffset; - RetainPtr<CPDF_SecurityHandler> m_pSecurityHandler; ByteString m_Password; std::unique_ptr<CPDF_LinearizedHeader> m_pLinearized; @@ -197,7 +197,7 @@ // All indirect object numbers that are being parsed. std::set<uint32_t> m_ParsingObjNums; - uint32_t m_MetadataObjnum = 0; + RetainPtr<CPDF_SecurityHandler> m_pSecurityHandler; }; #endif // CORE_FPDFAPI_PARSER_CPDF_PARSER_H_