Disable objects decryption if it is useless.
Change-Id: I6a588b4af4cfede922bc3756be749e9e30e3e8e5
Reviewed-on: https://pdfium-review.googlesource.com/12370
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
diff --git a/core/fpdfapi/parser/cfdf_document.cpp b/core/fpdfapi/parser/cfdf_document.cpp
index b008069..41827db 100644
--- a/core/fpdfapi/parser/cfdf_document.cpp
+++ b/core/fpdfapi/parser/cfdf_document.cpp
@@ -67,7 +67,7 @@
break;
std::unique_ptr<CPDF_Object> pObj =
- parser.GetObject(this, objnum, 0, true);
+ parser.GetObject(this, objnum, 0, false);
if (!pObj)
break;
@@ -80,7 +80,7 @@
break;
std::unique_ptr<CPDF_Dictionary> pMainDict =
- ToDictionary(parser.GetObject(this, 0, 0, true));
+ ToDictionary(parser.GetObject(this, 0, 0, false));
if (pMainDict)
m_pRootDict = pMainDict->GetDictFor("Root");
diff --git a/core/fpdfapi/parser/cpdf_data_avail.cpp b/core/fpdfapi/parser/cpdf_data_avail.cpp
index b7ea238..b10029d 100644
--- a/core/fpdfapi/parser/cpdf_data_avail.cpp
+++ b/core/fpdfapi/parser/cpdf_data_avail.cpp
@@ -680,7 +680,7 @@
}
std::unique_ptr<CPDF_Object> pObj =
- m_syntaxParser.GetObject(pObjList, parser_objnum, gennum, true);
+ m_syntaxParser.GetObject(pObjList, parser_objnum, gennum, false);
m_syntaxParser.SetPos(SavedPos);
return pObj;
}
@@ -926,7 +926,7 @@
const CPDF_ReadValidator::Session read_session(GetValidator().Get());
m_syntaxParser.SetPos(m_dwTrailerOffset);
const std::unique_ptr<CPDF_Object> pTrailer =
- m_syntaxParser.GetObject(nullptr, 0, 0, true);
+ m_syntaxParser.GetObject(nullptr, 0, 0, false);
if (!pTrailer) {
if (!GetValidator()->has_read_problems())
m_docStatus = PDF_DATAAVAIL_ERROR;
diff --git a/core/fpdfapi/parser/cpdf_parser.cpp b/core/fpdfapi/parser/cpdf_parser.cpp
index c57d65e..fffa7f9 100644
--- a/core/fpdfapi/parser/cpdf_parser.cpp
+++ b/core/fpdfapi/parser/cpdf_parser.cpp
@@ -870,7 +870,7 @@
m_pSyntax->SetPos(pos + i - m_pSyntax->m_HeaderOffset);
std::unique_ptr<CPDF_Object> pObj =
- m_pSyntax->GetObject(m_pDocument.Get(), 0, 0, true);
+ m_pSyntax->GetObject(m_pDocument.Get(), 0, 0, false);
if (pObj) {
if (pObj->IsDictionary() || pObj->AsStream()) {
CPDF_Stream* pStream = pObj->AsStream();
@@ -1232,7 +1232,7 @@
return nullptr;
syntax.SetPos(offset + it->second);
- return syntax.GetObject(pObjList, 0, 0, true);
+ return syntax.GetObject(pObjList, 0, 0, false);
}
CFX_RetainPtr<CPDF_StreamAcc> CPDF_Parser::GetObjectStream(uint32_t objnum) {
@@ -1328,7 +1328,7 @@
if (m_pSyntax->GetKeyword() != "trailer")
return nullptr;
- return ToDictionary(m_pSyntax->GetObject(m_pDocument.Get(), 0, 0, true));
+ return ToDictionary(m_pSyntax->GetObject(m_pDocument.Get(), 0, 0, false));
}
uint32_t CPDF_Parser::GetPermissions() const {
@@ -1365,7 +1365,7 @@
}
m_pLinearized = CPDF_LinearizedHeader::CreateForObject(
- m_pSyntax->GetObject(nullptr, objnum, gennum, true));
+ m_pSyntax->GetObject(nullptr, objnum, gennum, false));
if (!m_pLinearized)
return false;