summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/mozilla/moz_main.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/mozilla/moz_main.c b/apps/mozilla/moz_main.c
index 3be5723b..a1539339 100644
--- a/apps/mozilla/moz_main.c
+++ b/apps/mozilla/moz_main.c
@@ -162,13 +162,17 @@ void pdfmoz_open(pdfmoz_t *moz, char *filename)
*/
obj = fz_dictgets(moz->xref->trailer, "Root");
- moz->xref->trailer = fz_resolveindirect(obj);
+ moz->xref->root = fz_resolveindirect(obj);
+ if (!moz->xref->root)
+ pdfmoz_error(moz, fz_throw("syntaxerror: missing Root object"));
+ if (moz->xref->root)
+ fz_keepobj(moz->xref->root);
obj = fz_dictgets(moz->xref->trailer, "Info");
moz->xref->info = fz_resolveindirect(obj);
+ if (moz->xref->info)
+ fz_keepobj(moz->xref->info);
- if (!moz->xref->trailer)
- pdfmoz_error(moz, fz_throw("syntaxerror: missing Root object"));
error = pdf_loadnametrees(moz->xref);
if (error)