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 2c4dc32fde0b91bc1b8e02185bc971d2cf048ee0..f96b47fe7e9b0d10fc4fdaa73f0505fb8e48d11a 100644 |
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp |
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp |
@@ -841,7 +841,7 @@ FX_BOOL CPDF_XRefStream::GenerateXRefStream(CPDF_Creator* pCreator, |
if (pCreator->m_pEncryptDict) { |
uint32_t dwEncryptObjNum = pCreator->m_pEncryptDict->GetObjNum(); |
if (dwEncryptObjNum == 0) { |
- dwEncryptObjNum = pCreator->m_dwEnryptObjNum; |
+ dwEncryptObjNum = pCreator->m_dwEncryptObjNum; |
} |
if ((len = PDF_CreatorWriteEncrypt(pCreator->m_pEncryptDict, |
dwEncryptObjNum, pFile)) < 0) { |
@@ -900,34 +900,26 @@ void CPDF_XRefStream::AddObjectNumberToIndexArray(uint32_t objnum) { |
else |
m_IndexArray.push_back({objnum, 1}); |
} |
-CPDF_Creator::CPDF_Creator(CPDF_Document* pDoc) { |
- m_pDocument = pDoc; |
- m_pParser = (CPDF_Parser*)pDoc->m_pParser; |
- m_bCompress = TRUE; |
- if (m_pParser) { |
- m_pEncryptDict = m_pParser->GetEncryptDict(); |
- m_pCryptoHandler = m_pParser->GetCryptoHandler(); |
- } else { |
- m_pEncryptDict = nullptr; |
- m_pCryptoHandler = nullptr; |
- } |
- m_bSecurityChanged = FALSE; |
- m_pMetadata = nullptr; |
- m_bEncryptCloned = FALSE; |
- m_bEncryptMetadata = FALSE; |
Lei Zhang
2016/05/13 06:36:42
I accidentally removed this. It's always false.
Tom Sepez
2016/05/13 20:05:11
Accidentally? Otherwise, agreed its always false.
Lei Zhang
2016/05/14 01:06:33
Accidentally removed in patch set 1. Should have b
|
- m_Offset = 0; |
- m_iStage = -1; |
- m_dwFlags = 0; |
- m_Pos = nullptr; |
- m_XrefStart = 0; |
- m_pXRefStream = nullptr; |
- m_ObjectStreamSize = 200; |
- m_dwLastObjNum = m_pDocument->GetLastObjNum(); |
- m_pIDArray = nullptr; |
- m_FileVersion = 0; |
- m_dwEnryptObjNum = 0; |
- m_bLocalCryptoHandler = FALSE; |
-} |
+ |
+CPDF_Creator::CPDF_Creator(CPDF_Document* pDoc) |
+ : m_pDocument(pDoc), |
+ m_pParser(pDoc->GetParser()), |
+ m_bCompress(TRUE), |
+ m_bSecurityChanged(FALSE), |
+ m_pEncryptDict(m_pParser ? m_pParser->GetEncryptDict() : nullptr), |
+ m_dwEncryptObjNum(0), |
+ m_pCryptoHandler(m_pParser ? m_pParser->GetCryptoHandler() : nullptr), |
+ m_pMetadata(nullptr), |
+ m_ObjectStreamSize(200), |
+ m_dwLastObjNum(m_pDocument->GetLastObjNum()), |
+ m_Offset(0), |
+ m_iStage(-1), |
+ m_dwFlags(0), |
+ m_Pos(nullptr), |
+ m_XrefStart(0), |
+ m_pIDArray(nullptr), |
+ m_FileVersion(0) {} |
+ |
CPDF_Creator::~CPDF_Creator() { |
ResetStandardSecurity(); |
if (m_bEncryptCloned && m_pEncryptDict) { |
@@ -967,7 +959,7 @@ int32_t CPDF_Creator::WriteIndirectObjectToStream(const CPDF_Object* pObj) { |
m_pXRefStream->AddObjectNumberToIndexArray(objnum); |
if (m_pXRefStream->CompressIndirectObject(objnum, pObj, this) < 0) |
return -1; |
- if (!IsXRefNeedEnd(m_pXRefStream, m_dwFlags)) |
+ if (!IsXRefNeedEnd(m_pXRefStream.get(), m_dwFlags)) |
return 0; |
if (!m_pXRefStream->End(this)) |
return -1; |
@@ -987,7 +979,7 @@ int32_t CPDF_Creator::WriteIndirectObjectToStream(uint32_t objnum, |
if (iRet < 1) { |
return iRet; |
} |
- if (!IsXRefNeedEnd(m_pXRefStream, m_dwFlags)) { |
+ if (!IsXRefNeedEnd(m_pXRefStream.get(), m_dwFlags)) { |
return 0; |
} |
if (!m_pXRefStream->End(this)) { |
@@ -1003,7 +995,7 @@ int32_t CPDF_Creator::AppendObjectNumberToXRef(uint32_t objnum) { |
return 1; |
} |
m_pXRefStream->AddObjectNumberToIndexArray(objnum); |
- if (!IsXRefNeedEnd(m_pXRefStream, m_dwFlags)) { |
+ if (!IsXRefNeedEnd(m_pXRefStream.get(), m_dwFlags)) { |
return 0; |
} |
if (!m_pXRefStream->End(this)) { |
@@ -1478,7 +1470,7 @@ int32_t CPDF_Creator::WriteDoc_Stage1(IFX_Pause* pPause) { |
CPDF_Dictionary* pDict = m_pDocument->GetRoot(); |
m_pMetadata = pDict ? pDict->GetDirectObjectBy("Metadata") : NULL; |
if (m_dwFlags & FPDFCREATE_OBJECTSTREAM) { |
- m_pXRefStream = new CPDF_XRefStream; |
+ m_pXRefStream.reset(new CPDF_XRefStream); |
m_pXRefStream->Start(); |
if ((m_dwFlags & FPDFCREATE_INCREMENTAL) != 0 && m_pParser) { |
FX_FILESIZE prev = m_pParser->GetLastXRefOffset(); |
@@ -1599,7 +1591,7 @@ int32_t CPDF_Creator::WriteDoc_Stage2(IFX_Pause* pPause) { |
} |
m_ObjectOffset.Add(m_dwLastObjNum, 1); |
m_ObjectOffset[m_dwLastObjNum] = saveOffset; |
- m_dwEnryptObjNum = m_dwLastObjNum; |
+ m_dwEncryptObjNum = m_dwLastObjNum; |
if (m_dwFlags & FPDFCREATE_INCREMENTAL) { |
m_NewObjNumArray.Add(m_dwLastObjNum); |
} |
@@ -1929,8 +1921,7 @@ int32_t CPDF_Creator::WriteDoc_Stage4(IFX_Pause* pPause) { |
return m_iStage = 100; |
} |
void CPDF_Creator::Clear() { |
- delete m_pXRefStream; |
- m_pXRefStream = NULL; |
+ m_pXRefStream.reset(); |
m_File.Clear(); |
m_NewObjNumArray.RemoveAll(); |
if (m_pIDArray) { |