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_