diff options
-rw-r--r-- | mupdf/pdf_nametree.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/mupdf/pdf_nametree.c b/mupdf/pdf_nametree.c index 85a85b09..57292fd4 100644 --- a/mupdf/pdf_nametree.c +++ b/mupdf/pdf_nametree.c @@ -31,13 +31,25 @@ loadnametreenode(fz_obj *tree, pdf_xref *xref, fz_obj *node) { key = fz_arrayget(names, i * 2 + 0); val = fz_arrayget(names, i * 2 + 1); + + error = pdf_resolve(&key, xref); + if (error) + { + fz_dropobj(names); + fz_dropobj(node); + return fz_rethrow(error, "cannot resolve name tree key"); + } + error = fz_dictput(tree, key, val); if (error) { + fz_dropobj(key); fz_dropobj(names); fz_dropobj(node); return fz_rethrow(error, "cannot insert name tree entry"); } + + fz_dropobj(key); } fz_dropobj(names); |