summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Strygin <art-snake@yandex-team.ru>2017-08-31 15:01:28 +0300
committerChromium commit bot <commit-bot@chromium.org>2017-08-31 20:11:26 +0000
commit3c6b72f79fce629c903ce31f07092df23f870bb6 (patch)
treefd0b1f710bdaaed13523ceb3580df71a5d9d8977
parent0872b04ea41ba6706e42b28f632ab190bc77dede (diff)
downloadpdfium-3c6b72f79fce629c903ce31f07092df23f870bb6.tar.xz
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>
-rw-r--r--core/fpdfapi/parser/cfdf_document.cpp4
-rw-r--r--core/fpdfapi/parser/cpdf_data_avail.cpp4
-rw-r--r--core/fpdfapi/parser/cpdf_parser.cpp8
3 files changed, 8 insertions, 8 deletions
diff --git a/core/fpdfapi/parser/cfdf_document.cpp b/core/fpdfapi/parser/cfdf_document.cpp
index b00806967b..41827db0d9 100644
--- a/core/fpdfapi/parser/cfdf_document.cpp
+++ b/core/fpdfapi/parser/cfdf_document.cpp
@@ -67,7 +67,7 @@ void CFDF_Document::ParseStream(
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 @@ void CFDF_Document::ParseStream(
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 b7ea238507..b10029d4ce 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> CPDF_DataAvail::ParseIndirectObjectAt(
}
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 @@ bool CPDF_DataAvail::CheckTrailer() {
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 c57d65e78e..fffa7f9b00 100644
--- a/core/fpdfapi/parser/cpdf_parser.cpp
+++ b/core/fpdfapi/parser/cpdf_parser.cpp
@@ -870,7 +870,7 @@ bool CPDF_Parser::RebuildCrossRef() {
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 @@ std::unique_ptr<CPDF_Object> CPDF_Parser::ParseIndirectObject(
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 @@ std::unique_ptr<CPDF_Dictionary> CPDF_Parser::LoadTrailerV4() {
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 @@ bool CPDF_Parser::ParseLinearizedHeader() {
}
m_pLinearized = CPDF_LinearizedHeader::CreateForObject(
- m_pSyntax->GetObject(nullptr, objnum, gennum, true));
+ m_pSyntax->GetObject(nullptr, objnum, gennum, false));
if (!m_pLinearized)
return false;