diff options
author | thestig <thestig@chromium.org> | 2016-05-23 15:06:59 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-05-23 15:06:59 -0700 |
commit | 27ddf161579f79510b361d0016ccc7f0cdffdc6d (patch) | |
tree | bc5a13661d288faeccc8471275059a9d5e8795bc /core/fpdfapi/fpdf_parser/cpdf_parser.cpp | |
parent | 490d6128e6faef423fa6f965f792513e138bc04a (diff) | |
download | pdfium-27ddf161579f79510b361d0016ccc7f0cdffdc6d.tar.xz |
Distinguish between user and owner passwords.
BUG=pdfium:496
Review-Url: https://codereview.chromium.org/2005653002
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cpdf_parser.cpp')
-rw-r--r-- | core/fpdfapi/fpdf_parser/cpdf_parser.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_parser.cpp b/core/fpdfapi/fpdf_parser/cpdf_parser.cpp index acf51de1ea..a6b99e5ddb 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_parser.cpp +++ b/core/fpdfapi/fpdf_parser/cpdf_parser.cpp @@ -1479,16 +1479,15 @@ CPDF_Dictionary* CPDF_Parser::LoadTrailerV4() { return pObj.release()->AsDictionary(); } -uint32_t CPDF_Parser::GetPermissions(FX_BOOL bCheckRevision) { +uint32_t CPDF_Parser::GetPermissions() const { if (!m_pSecurityHandler) - return (uint32_t)-1; + return 0xFFFFFFFF; uint32_t dwPermission = m_pSecurityHandler->GetPermissions(); if (m_pEncryptDict && m_pEncryptDict->GetStringBy("Filter") == "Standard") { + // See PDF Reference 1.7, page 123, table 3.20. dwPermission &= 0xFFFFFFFC; dwPermission |= 0xFFFFF0C0; - if (bCheckRevision && m_pEncryptDict->GetIntegerBy("R") == 2) - dwPermission &= 0xFFFFF0FF; } return dwPermission; } |