diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2018-10-02 02:22:48 +0800 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2018-10-23 18:46:01 +0200 |
commit | 6067a93a03c45a841fb7b486b8859ca98857c575 (patch) | |
tree | 4a7431814306b62f8d486fbeca72c36e015efae6 | |
parent | e94bcbd37bca2b56880fd7729061fb0f20fe1351 (diff) | |
download | mupdf-6067a93a03c45a841fb7b486b8859ca98857c575.tar.xz |
Drop the page dictionary upon exception in mutool merge.
-rw-r--r-- | source/tools/pdfmerge.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/tools/pdfmerge.c b/source/tools/pdfmerge.c index f0d124d8..35259c73 100644 --- a/source/tools/pdfmerge.c +++ b/source/tools/pdfmerge.c @@ -30,7 +30,7 @@ static pdf_document *doc_src = NULL; static void page_merge(int page_from, int page_to, pdf_graft_map *graft_map) { pdf_obj *page_ref; - pdf_obj *page_dict; + pdf_obj *page_dict = NULL; pdf_obj *obj; pdf_obj *ref = NULL; int i; @@ -41,6 +41,7 @@ static void page_merge(int page_from, int page_to, pdf_graft_map *graft_map) PDF_NAME(Rotate), PDF_NAME(UserUnit) }; fz_var(ref); + fz_var(page_dict); fz_try(ctx) { @@ -60,13 +61,14 @@ static void page_merge(int page_from, int page_to, pdf_graft_map *graft_map) } /* Add the page object to the destination document. */ - ref = pdf_add_object_drop(ctx, doc_des, page_dict); + ref = pdf_add_object(ctx, doc_des, page_dict); /* Insert it into the page tree. */ pdf_insert_page(ctx, doc_des, page_to - 1, ref); } fz_always(ctx) { + pdf_drop_obj(ctx, page_dict); pdf_drop_obj(ctx, ref); } fz_catch(ctx) |