| Index: xfa/fxfa/app/xfa_checksum.cpp
|
| diff --git a/xfa/fxfa/app/xfa_checksum.cpp b/xfa/fxfa/app/xfa_checksum.cpp
|
| index 641ec7880e12fb782d8e33e70a56ad8b81fb18fd..09c42719c11e0f8a3175eca65b636516d1496ec9 100644
|
| --- a/xfa/fxfa/app/xfa_checksum.cpp
|
| +++ b/xfa/fxfa/app/xfa_checksum.cpp
|
| @@ -7,6 +7,7 @@
|
| #include "xfa/fxfa/xfa_checksum.h"
|
|
|
| #include "core/fdrm/crypto/fx_crypt.h"
|
| +#include "third_party/base/ptr_util.h"
|
|
|
| namespace {
|
|
|
| @@ -210,19 +211,16 @@ void CXFA_SAXReaderHandler::UpdateChecksum(bool bCheckSpace) {
|
| m_SAXContext.m_TextBuf.Clear();
|
| }
|
|
|
| -CXFA_ChecksumContext::CXFA_ChecksumContext()
|
| - : m_pSAXReader(nullptr), m_pByteContext(nullptr) {}
|
| +CXFA_ChecksumContext::CXFA_ChecksumContext() {}
|
|
|
| -CXFA_ChecksumContext::~CXFA_ChecksumContext() {
|
| - FinishChecksum();
|
| -}
|
| +CXFA_ChecksumContext::~CXFA_ChecksumContext() {}
|
|
|
| void CXFA_ChecksumContext::StartChecksum() {
|
| FinishChecksum();
|
| - m_pByteContext = FX_Alloc(CRYPT_sha1_context, 1);
|
| - CRYPT_SHA1Start(m_pByteContext);
|
| + m_pByteContext = pdfium::MakeUnique<CRYPT_sha1_context>();
|
| + CRYPT_SHA1Start(m_pByteContext.get());
|
| m_bsChecksum.clear();
|
| - m_pSAXReader = new CFX_SAXReader;
|
| + m_pSAXReader = pdfium::MakeUnique<CFX_SAXReader>();
|
| }
|
|
|
| bool CXFA_ChecksumContext::UpdateChecksum(
|
| @@ -248,18 +246,16 @@ bool CXFA_ChecksumContext::UpdateChecksum(
|
| }
|
|
|
| void CXFA_ChecksumContext::FinishChecksum() {
|
| - delete m_pSAXReader;
|
| - m_pSAXReader = nullptr;
|
| + m_pSAXReader.reset();
|
| if (m_pByteContext) {
|
| uint8_t digest[20];
|
| FXSYS_memset(digest, 0, 20);
|
| - CRYPT_SHA1Finish(m_pByteContext, digest);
|
| + CRYPT_SHA1Finish(m_pByteContext.get(), digest);
|
| int32_t nLen = Base64EncodeA(digest, 20, nullptr);
|
| FX_CHAR* pBuffer = m_bsChecksum.GetBuffer(nLen);
|
| Base64EncodeA(digest, 20, pBuffer);
|
| m_bsChecksum.ReleaseBuffer(nLen);
|
| - FX_Free(m_pByteContext);
|
| - m_pByteContext = nullptr;
|
| + m_pByteContext.reset();
|
| }
|
| }
|
|
|
| @@ -268,7 +264,8 @@ CFX_ByteString CXFA_ChecksumContext::GetChecksum() const {
|
| }
|
|
|
| void CXFA_ChecksumContext::Update(const CFX_ByteStringC& bsText) {
|
| - if (m_pByteContext) {
|
| - CRYPT_SHA1Update(m_pByteContext, bsText.raw_str(), bsText.GetLength());
|
| - }
|
| + if (!m_pByteContext)
|
| + return;
|
| +
|
| + CRYPT_SHA1Update(m_pByteContext.get(), bsText.raw_str(), bsText.GetLength());
|
| }
|
|
|