| Index: fpdfsdk/fpdfview.cpp
|
| diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp
|
| index 020ff8df6d57c8bc39d52c914b7d1754013b0cca..e7b3a96b0b3cbcaa38a39da74b1c3317b107c13f 100644
|
| --- a/fpdfsdk/fpdfview.cpp
|
| +++ b/fpdfsdk/fpdfview.cpp
|
| @@ -464,15 +464,16 @@ DLLEXPORT FPDF_BOOL STDCALL FPDF_GetFileVersion(FPDF_DOCUMENT doc,
|
| // header).
|
| DLLEXPORT unsigned long STDCALL FPDF_GetDocPermissions(FPDF_DOCUMENT document) {
|
| CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document);
|
| - if (!pDoc || !pDoc->GetParser())
|
| + // https://bugs.chromium.org/p/pdfium/issues/detail?id=499
|
| + if (!pDoc) {
|
| #ifndef PDF_ENABLE_XFA
|
| return 0;
|
| #else // PDF_ENABLE_XFA
|
| - return (uint32_t)-1;
|
| + return 0xFFFFFFFF;
|
| #endif // PDF_ENABLE_XFA
|
| + }
|
|
|
| - CPDF_Dictionary* pDict = pDoc->GetParser()->GetEncryptDict();
|
| - return pDict ? pDict->GetIntegerBy("P") : (uint32_t)-1;
|
| + return pDoc->GetUserPermissions();
|
| }
|
|
|
| DLLEXPORT int STDCALL FPDF_GetSecurityHandlerRevision(FPDF_DOCUMENT document) {
|
|
|