summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-annot.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/pdf/pdf-annot.c')
-rw-r--r--source/pdf/pdf-annot.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/source/pdf/pdf-annot.c b/source/pdf/pdf-annot.c
index bfc31e9a..c571a0a1 100644
--- a/source/pdf/pdf-annot.c
+++ b/source/pdf/pdf-annot.c
@@ -57,11 +57,22 @@ pdf_parse_link_dest(pdf_document *doc, pdf_obj *dest)
ld.kind = FZ_LINK_NONE;
return ld;
}
+
obj = pdf_array_get(dest, 0);
if (pdf_is_int(obj))
ld.ld.gotor.page = pdf_to_int(obj);
else
- ld.ld.gotor.page = pdf_lookup_page_number(doc, obj);
+ {
+ fz_try(doc->ctx)
+ {
+ ld.ld.gotor.page = pdf_lookup_page_number(doc, obj);
+ }
+ fz_catch(doc->ctx)
+ {
+ ld.kind = FZ_LINK_NONE;
+ return ld;
+ }
+ }
ld.kind = FZ_LINK_GOTO;
ld.ld.gotor.flags = 0;