Chromium Code Reviews| 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) { |