Fix opening some password protected documents

e.g. the ones in poppler issue 824

The PDF spec doesn't say (or I couldn't find it) how a user entered
string is converted to the byte array needed for password checking, so
we try both latin1 and utf8
This commit is contained in:
Albert Astals Cid 2022-01-03 00:46:15 +01:00
parent 46bc21bfd9
commit e7eb937d28

View file

@ -623,9 +623,13 @@ Okular::Document::OpenResult PDFGenerator::init(QVector<Okular::Page *> &pagesVe
pdfdoc->unlock(password.toLatin1(), password.toLatin1());
if (pdfdoc->isLocked()) {
delete pdfdoc;
pdfdoc = nullptr;
return Okular::Document::OpenNeedsPassword;
pdfdoc->unlock(password.toUtf8(), password.toUtf8());
if (pdfdoc->isLocked()) {
delete pdfdoc;
pdfdoc = nullptr;
return Okular::Document::OpenNeedsPassword;
}
}
}