diff --git a/libqpdf/QPDFEmbeddedFileDocumentHelper.cc b/libqpdf/QPDFEmbeddedFileDocumentHelper.cc index 1da97d4..552a389 100644 --- a/libqpdf/QPDFEmbeddedFileDocumentHelper.cc +++ b/libqpdf/QPDFEmbeddedFileDocumentHelper.cc @@ -48,7 +48,12 @@ QPDFEmbeddedFileDocumentHelper::QPDFEmbeddedFileDocumentHelper(QPDF& qpdf) : if (names.isDictionary()) { auto embedded_files = names.getKey("/EmbeddedFiles"); if (embedded_files.isDictionary()) { - m->embedded_files = std::make_unique(embedded_files, qpdf); + m->embedded_files = std::make_unique( + embedded_files, + qpdf, + [](QPDFObjectHandle const& o) -> bool { return o.isDictionary(); }, + true); + m->embedded_files->validate(); } } } @@ -74,7 +79,8 @@ QPDFEmbeddedFileDocumentHelper::initEmbeddedFiles() if (!embedded_files.isDictionary()) { auto nth = QPDFNameTreeObjectHelper::newEmpty(qpdf); names.replaceKey("/EmbeddedFiles", nth.getObjectHandle()); - m->embedded_files = std::make_unique(nth); + m->embedded_files = std::make_unique( + nth, qpdf, [](QPDFObjectHandle const& o) -> bool { return o.isDictionary(); }, true); } }