summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2018-10-02 02:22:48 +0800
committerTor Andersson <tor.andersson@artifex.com>2018-10-23 18:46:01 +0200
commit6067a93a03c45a841fb7b486b8859ca98857c575 (patch)
tree4a7431814306b62f8d486fbeca72c36e015efae6 /source
parente94bcbd37bca2b56880fd7729061fb0f20fe1351 (diff)
downloadmupdf-6067a93a03c45a841fb7b486b8859ca98857c575.tar.xz
Drop the page dictionary upon exception in mutool merge.
Diffstat (limited to 'source')
-rw-r--r--source/tools/pdfmerge.c6
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)