diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2018-10-02 02:21:19 +0800 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2018-10-23 18:46:01 +0200 |
commit | dd3f991e192029bc238453105e6f837996666abf (patch) | |
tree | 19c92eb68b07dcc1550093cd06099bf8cdc222b4 | |
parent | 914900f42d027778506cde4281cb495afeea09e6 (diff) | |
download | mupdf-dd3f991e192029bc238453105e6f837996666abf.tar.xz |
Drop new object upon exception grafting objects.
-rw-r--r-- | source/pdf/pdf-graft.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/pdf/pdf-graft.c b/source/pdf/pdf-graft.c index 50be9790..2fe4f26c 100644 --- a/source/pdf/pdf-graft.c +++ b/source/pdf/pdf-graft.c @@ -120,6 +120,7 @@ pdf_graft_mapped_object(fz_context *ctx, pdf_graft_map *map, pdf_obj *obj) fz_var(buffer); fz_var(ref); + fz_var(new_obj); fz_try(ctx) { @@ -131,7 +132,6 @@ pdf_graft_mapped_object(fz_context *ctx, pdf_graft_map *map, pdf_obj *obj) /* Return a ref to the new_obj making sure to attach any stream */ pdf_update_object(ctx, map->dst, new_num, new_obj); - pdf_drop_obj(ctx, new_obj); ref = pdf_new_indirect(ctx, map->dst, new_num, 0); if (pdf_is_stream(ctx, obj)) { @@ -140,7 +140,10 @@ pdf_graft_mapped_object(fz_context *ctx, pdf_graft_map *map, pdf_obj *obj) } } fz_always(ctx) + { + pdf_drop_obj(ctx, new_obj); fz_drop_buffer(ctx, buffer); + } fz_catch(ctx) { pdf_drop_obj(ctx, ref); |