summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chromium/third_party/pdfium/core/fpdfapi/edit/cpdf_creator.cpp4
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>();