Merge pull request #17233 from calixteman/issue17232

Don't try to collect a nonexistent field because of an invalid ref
This commit is contained in:
calixteman 2023-11-07 22:50:55 +01:00 committed by GitHub
commit c6a717f900
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 3 deletions

View File

@ -1713,6 +1713,9 @@ class PDFDocument {
#collectFieldObjects(name, fieldRef, promises, annotationGlobals) {
const field = this.xref.fetchIfRef(fieldRef);
if (!(field instanceof Dict)) {
return;
}
if (field.has("T")) {
const partName = stringToPDFString(field.get("T"));
name = name === "" ? partName : `${name}.${partName}`;
@ -1737,8 +1740,9 @@ class PDFDocument {
})
);
if (field.has("Kids")) {
for (const kid of field.get("Kids")) {
const kids = field.get("Kids");
if (Array.isArray(kids)) {
for (const kid of kids) {
this.#collectFieldObjects(name, kid, promises, annotationGlobals);
}
}

View File

@ -0,0 +1,2 @@
https://github.com/mozilla/pdf.js/files/13280636/aanvraag-beeindiging-aansluiting.pdf

View File

@ -8197,5 +8197,14 @@
"rounds": 1,
"type": "eq",
"annotations": true
}
},
{
"id": "issue17232-annotations",
"file": "pdfs/issue17232.pdf",
"md5": "90ade9fc5721ddf8d17e8cfc43e186a4",
"rounds": 1,
"link": true,
"type": "eq",
"annotations": true
}
]