Implementation of rev. 6 hash

This commit is contained in:
Jakub Melka
2019-08-11 15:46:26 +02:00
parent 0434a70de5
commit c4ea7a3ea8
3 changed files with 247 additions and 6 deletions

View File

@ -272,11 +272,21 @@ PDFDocument PDFDocumentReader::readFromBuffer(const QByteArray& buffer)
// SECURITY - handle encrypted documents
// ------------------------------------------------------------------------------------------
const PDFObject& trailerDictionaryObject = xrefTable.getTrailerDictionary();
if (!trailerDictionaryObject.isDictionary())
const PDFDictionary* trailerDictionary = nullptr;
if (trailerDictionaryObject.isDictionary())
{
trailerDictionary = trailerDictionaryObject.getDictionary();
}
else if (trailerDictionaryObject.isStream())
{
const PDFStream* stream = trailerDictionaryObject.getStream();
trailerDictionary = stream->getDictionary();
}
else
{
throw PDFParserException(tr("Invalid trailer dictionary."));
}
const PDFDictionary* trailerDictionary = trailerDictionaryObject.getDictionary();
// Read the document ID
QByteArray id;