diff options
-rw-r--r-- | chromium/third_party/pdfium/core/fpdfapi/edit/cpdf_creator.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/chromium/third_party/pdfium/core/fpdfapi/edit/cpdf_creator.cpp b/chromium/third_party/pdfium/core/fpdfapi/edit/cpdf_creator.cpp index 11c0f2d089b..9706f0b3908 100644 --- a/chromium/third_party/pdfium/core/fpdfapi/edit/cpdf_creator.cpp +++ b/chromium/third_party/pdfium/core/fpdfapi/edit/cpdf_creator.cpp @@ -617,7 +617,9 @@ void CPDF_Creator::InitID() { m_pIDArray->Add(m_pIDArray->GetObjectAt(0)->Clone()); if (m_pEncryptDict) { ASSERT(m_pParser); - if (m_pEncryptDict->GetStringFor("Filter") == "Standard") { + int revision = m_pEncryptDict->GetIntegerFor("R"); + if ((revision == 2 || revision == 3) && + m_pEncryptDict->GetStringFor("Filter") == "Standard") { m_pNewEncryptDict = ToDictionary(m_pEncryptDict->Clone()); m_pEncryptDict = m_pNewEncryptDict.Get(); m_pSecurityHandler = pdfium::MakeRetain<CPDF_SecurityHandler>(); |