summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mupdf/pdf_nametree.c12
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);