diff options
Diffstat (limited to 'source/pdf/pdf-graft.c')
-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); |