Index: core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp |
diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp |
index 372506d6cce649e0346ea091576e2e6d6fe4f4d4..7604c6224051bbb48420f99145a7a55d4dd810c6 100644 |
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp |
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp |
@@ -881,8 +881,10 @@ CPDF_Creator::CPDF_Creator(CPDF_Document* pDoc) |
m_bSecurityChanged(FALSE), |
m_pEncryptDict(m_pParser ? m_pParser->GetEncryptDict() : nullptr), |
m_dwEncryptObjNum(0), |
+ m_bEncryptCloned(FALSE), |
m_pCryptoHandler(m_pParser ? m_pParser->GetCryptoHandler() : nullptr), |
m_pMetadata(nullptr), |
+ m_pXRefStream(nullptr), |
m_ObjectStreamSize(200), |
m_dwLastObjNum(m_pDocument->GetLastObjNum()), |
m_Offset(0), |
@@ -1959,11 +1961,9 @@ void CPDF_Creator::InitID(FX_BOOL bDefault) { |
CPDF_SecurityHandler handler; |
handler.OnCreate(m_pEncryptDict, m_pIDArray, user_pass.raw_str(), |
user_pass.GetLength(), flag); |
- if (m_bLocalCryptoHandler) |
- delete m_pCryptoHandler; |
+ delete m_pCryptoHandler; |
m_pCryptoHandler = new CPDF_CryptoHandler; |
m_pCryptoHandler->Init(m_pEncryptDict, &handler); |
- m_bLocalCryptoHandler = TRUE; |
m_bSecurityChanged = TRUE; |
} |
} |
@@ -2008,10 +2008,6 @@ void CPDF_Creator::RemoveSecurity() { |
m_pCryptoHandler = nullptr; |
} |
void CPDF_Creator::ResetStandardSecurity() { |
- if (!m_bLocalCryptoHandler) |
- return; |
- |
delete m_pCryptoHandler; |
m_pCryptoHandler = nullptr; |
- m_bLocalCryptoHandler = FALSE; |
} |