diff options
author | Artem Strygin <art-snake@yandex-team.ru> | 2017-08-31 15:01:28 +0300 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-31 20:11:26 +0000 |
commit | 3c6b72f79fce629c903ce31f07092df23f870bb6 (patch) | |
tree | fd0b1f710bdaaed13523ceb3580df71a5d9d8977 | |
parent | 0872b04ea41ba6706e42b28f632ab190bc77dede (diff) | |
download | pdfium-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.cpp | 4 | ||||
-rw-r--r-- | core/fpdfapi/parser/cpdf_data_avail.cpp | 4 | ||||
-rw-r--r-- | core/fpdfapi/parser/cpdf_parser.cpp | 8 |
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; |