From 6067a93a03c45a841fb7b486b8859ca98857c575 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Tue, 2 Oct 2018 02:22:48 +0800 Subject: Drop the page dictionary upon exception in mutool merge. --- source/tools/pdfmerge.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/tools') 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) -- cgit v1.2.3