| Index: core/include/fpdfapi/fpdf_parser.h
|
| diff --git a/core/include/fpdfapi/fpdf_parser.h b/core/include/fpdfapi/fpdf_parser.h
|
| index 04c7d90f6fc067cae49787f340f27f41ecd0840b..a5fce34fd7630b3efa990b262cd9fb6e16375107 100644
|
| --- a/core/include/fpdfapi/fpdf_parser.h
|
| +++ b/core/include/fpdfapi/fpdf_parser.h
|
| @@ -7,6 +7,7 @@
|
| #ifndef CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
|
| #define CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
|
|
|
| +#include "../../../third_party/base/nonstd_unique_ptr.h"
|
| #include "../fxcrt/fx_system.h"
|
| #include "fpdf_objects.h"
|
|
|
| @@ -270,7 +271,7 @@ class CPDF_SyntaxParser {
|
| FX_FILESIZE FindTag(const CFX_ByteStringC& tag, FX_FILESIZE limit);
|
|
|
| void SetEncrypt(CPDF_CryptoHandler* pCryptoHandler) {
|
| - m_pCryptoHandler = pCryptoHandler;
|
| + m_pCryptoHandler.reset(pCryptoHandler);
|
| }
|
|
|
| FX_BOOL IsEncrypted() { return m_pCryptoHandler != NULL; }
|
| @@ -326,7 +327,7 @@ class CPDF_SyntaxParser {
|
|
|
| FX_FILESIZE m_BufOffset;
|
|
|
| - CPDF_CryptoHandler* m_pCryptoHandler;
|
| + nonstd::unique_ptr<CPDF_CryptoHandler> m_pCryptoHandler;
|
|
|
| uint8_t m_WordBuffer[257];
|
|
|
| @@ -375,9 +376,13 @@ class CPDF_Parser {
|
|
|
| CFX_ByteString GetPassword() { return m_Password; }
|
|
|
| - CPDF_SecurityHandler* GetSecurityHandler() { return m_pSecurityHandler; }
|
| + CPDF_SecurityHandler* GetSecurityHandler() {
|
| + return m_pSecurityHandler.get();
|
| + }
|
|
|
| - CPDF_CryptoHandler* GetCryptoHandler() { return m_Syntax.m_pCryptoHandler; }
|
| + CPDF_CryptoHandler* GetCryptoHandler() {
|
| + return m_Syntax.m_pCryptoHandler.get();
|
| + }
|
|
|
| void SetSecurityHandler(CPDF_SecurityHandler* pSecurityHandler,
|
| FX_BOOL bForced = FALSE);
|
| @@ -495,7 +500,7 @@ class CPDF_Parser {
|
|
|
| FX_BOOL m_bXRefStream;
|
|
|
| - CPDF_SecurityHandler* m_pSecurityHandler;
|
| + nonstd::unique_ptr<CPDF_SecurityHandler> m_pSecurityHandler;
|
|
|
| FX_BOOL m_bForceUseSecurityHandler;
|
|
|
|
|