diff options
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cpdf_document.cpp')
-rw-r--r-- | core/fpdfapi/fpdf_parser/cpdf_document.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_document.cpp b/core/fpdfapi/fpdf_parser/cpdf_document.cpp index 79965a23bb..230b9b0d1b 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_document.cpp +++ b/core/fpdfapi/fpdf_parser/cpdf_document.cpp @@ -719,9 +719,16 @@ int CPDF_Document::RetrievePageCount() const { return CountPages(pPages, &visited_pages); } -uint32_t CPDF_Document::GetUserPermissions(FX_BOOL bCheckRevision) const { - return m_pParser ? m_pParser->GetPermissions(bCheckRevision) - : static_cast<uint32_t>(-1); +uint32_t CPDF_Document::GetUserPermissions() const { + // https://bugs.chromium.org/p/pdfium/issues/detail?id=499 + if (!m_pParser) { +#ifndef PDF_ENABLE_XFA + return 0; +#else // PDF_ENABLE_XFA + return 0xFFFFFFFF; +#endif + } + return m_pParser->GetPermissions(); } FX_BOOL CPDF_Document::IsFormStream(uint32_t objnum, FX_BOOL& bForm) const { |