diff options
author | tsepez <tsepez@chromium.org> | 2016-05-18 11:39:15 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-05-18 11:39:15 -0700 |
commit | 501e8cdc9143d4b1bebd22e7bfdcae4368e459ee (patch) | |
tree | bfa380d7dfe06f2fbcf7b59b26a7f61bbb0de07f | |
parent | 653951828cf934afb48b57989089a99b38620d02 (diff) | |
download | pdfium-501e8cdc9143d4b1bebd22e7bfdcae4368e459ee.tar.xz |
Remove Release() from CXFA_ChecksumContext
Review-Url: https://codereview.chromium.org/1991913002
-rw-r--r-- | fpdfsdk/fpdfsave.cpp | 3 | ||||
-rw-r--r-- | xfa/fxfa/app/xfa_checksum.cpp | 6 | ||||
-rw-r--r-- | xfa/fxfa/app/xfa_ffdoc.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/include/xfa_checksum.h | 5 | ||||
-rw-r--r-- | xfa/fxfa/parser/xfa_parser_imp.cpp | 19 |
5 files changed, 17 insertions, 18 deletions
diff --git a/fpdfsdk/fpdfsave.cpp b/fpdfsdk/fpdfsave.cpp index c67db816a9..d48bfbb3b1 100644 --- a/fpdfsdk/fpdfsave.cpp +++ b/fpdfsdk/fpdfsave.cpp @@ -130,8 +130,7 @@ bool SaveXFADocumentData(CPDFXFA_Document* pDocument, else if (pPDFObj->GetString() == "template") iTemplate = i + 1; } - std::unique_ptr<CXFA_ChecksumContext, ReleaseDeleter<CXFA_ChecksumContext>> - pContext(new CXFA_ChecksumContext); + std::unique_ptr<CXFA_ChecksumContext> pContext(new CXFA_ChecksumContext); pContext->StartChecksum(); // template diff --git a/xfa/fxfa/app/xfa_checksum.cpp b/xfa/fxfa/app/xfa_checksum.cpp index 195033bfab..1641816550 100644 --- a/xfa/fxfa/app/xfa_checksum.cpp +++ b/xfa/fxfa/app/xfa_checksum.cpp @@ -177,9 +177,11 @@ void CXFA_ChecksumContext::FinishChecksum() { m_pByteContext = NULL; } } -void CXFA_ChecksumContext::GetChecksum(CFX_ByteString& bsChecksum) { - bsChecksum = m_bsChecksum; + +CFX_ByteString CXFA_ChecksumContext::GetChecksum() const { + return m_bsChecksum; } + void CXFA_ChecksumContext::Update(const CFX_ByteStringC& bsText) { if (m_pByteContext) { CRYPT_SHA1Update(m_pByteContext, bsText.raw_str(), bsText.GetLength()); diff --git a/xfa/fxfa/app/xfa_ffdoc.cpp b/xfa/fxfa/app/xfa_ffdoc.cpp index 8297dce9ec..8621430d3f 100644 --- a/xfa/fxfa/app/xfa_ffdoc.cpp +++ b/xfa/fxfa/app/xfa_ffdoc.cpp @@ -377,7 +377,7 @@ FX_BOOL CXFA_FFDoc::SavePackage(const CFX_WideStringC& wsPackage, CFX_ByteString bsChecksum; if (pCSContext) - pCSContext->GetChecksum(bsChecksum); + bsChecksum = pCSContext->GetChecksum(); return pExport->Export(pFile, pNode, 0, bsChecksum.GetLength() ? bsChecksum.c_str() : nullptr); diff --git a/xfa/fxfa/include/xfa_checksum.h b/xfa/fxfa/include/xfa_checksum.h index 6c7ea7a04c..f6b13e7cb7 100644 --- a/xfa/fxfa/include/xfa_checksum.h +++ b/xfa/fxfa/include/xfa_checksum.h @@ -60,14 +60,13 @@ class CXFA_ChecksumContext { CXFA_ChecksumContext(); ~CXFA_ChecksumContext(); - void Release() { delete this; } void StartChecksum(); + void Update(const CFX_ByteStringC& bsText); FX_BOOL UpdateChecksum(IFX_FileRead* pSrcFile, FX_FILESIZE offset = 0, size_t size = 0); void FinishChecksum(); - void GetChecksum(CFX_ByteString& bsChecksum); - void Update(const CFX_ByteStringC& bsText); + CFX_ByteString GetChecksum() const; protected: CFX_SAXReader* m_pSAXReader; diff --git a/xfa/fxfa/parser/xfa_parser_imp.cpp b/xfa/fxfa/parser/xfa_parser_imp.cpp index 01ea1d6fae..3369e59479 100644 --- a/xfa/fxfa/parser/xfa_parser_imp.cpp +++ b/xfa/fxfa/parser/xfa_parser_imp.cpp @@ -6,6 +6,8 @@ #include "xfa/fxfa/parser/xfa_parser_imp.h" +#include <memory> + #include "xfa/fde/xml/fde_xml_imp.h" #include "xfa/fgas/crt/fgas_codepage.h" #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" @@ -565,24 +567,21 @@ CXFA_Node* CXFA_SimpleParser::ParseAsXDPPacket_TemplateForm( m_pXMLParser->m_dwCheckStatus != 0x03) { return NULL; } - CXFA_ChecksumContext* pChecksum = new CXFA_ChecksumContext; + std::unique_ptr<CXFA_ChecksumContext> pChecksum(new CXFA_ChecksumContext); pChecksum->StartChecksum(); pChecksum->UpdateChecksum(m_pFileRead, m_pXMLParser->m_nStart[0], m_pXMLParser->m_nSize[0]); pChecksum->UpdateChecksum(m_pFileRead, m_pXMLParser->m_nStart[1], m_pXMLParser->m_nSize[1]); pChecksum->FinishChecksum(); - CFX_ByteString bsCheck; - pChecksum->GetChecksum(bsCheck); - pChecksum->Release(); - if (bsCheck != wsChecksum.UTF8Encode()) { - return NULL; - } + CFX_ByteString bsCheck = pChecksum->GetChecksum(); + if (bsCheck != wsChecksum.UTF8Encode()) + return nullptr; pNode = m_pFactory->CreateNode(XFA_XDPPACKET_Form, XFA_ELEMENT_Form); - if (!pNode) { - return NULL; - } + if (!pNode) + return nullptr; + pNode->SetCData(XFA_ATTRIBUTE_Name, XFA_GetPacketByIndex(XFA_PACKET_Form)->pName); pNode->SetAttribute(XFA_ATTRIBUTE_Checksum, wsChecksum.AsStringC()); |