summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-write.c
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2017-06-28 01:56:57 +0800
committerSebastian Rasmussen <sebras@gmail.com>2017-07-06 22:30:53 +0800
commitb235f6d80e5c9d1beb7e02fb444d72f0475555d2 (patch)
tree6f94744d4761d2ffa4dafd6a24fb3de45911c31b /source/pdf/pdf-write.c
parent25f1234830855d9d7a5f1ab40241df971579e1af (diff)
downloadmupdf-b235f6d80e5c9d1beb7e02fb444d72f0475555d2.tar.xz
pdf: Drop object upon error while renumbering objects.
Diffstat (limited to 'source/pdf/pdf-write.c')
-rw-r--r--source/pdf/pdf-write.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/pdf/pdf-write.c b/source/pdf/pdf-write.c
index 5e80cfa1..a70addad 100644
--- a/source/pdf/pdf-write.c
+++ b/source/pdf/pdf-write.c
@@ -859,8 +859,12 @@ static void renumberobjs(fz_context *ctx, pdf_document *doc, pdf_write_state *op
if (pdf_is_indirect(ctx, obj))
{
obj = pdf_new_indirect(ctx, doc, to, 0);
- pdf_update_object(ctx, doc, num, obj);
- pdf_drop_obj(ctx, obj);
+ fz_try(ctx)
+ pdf_update_object(ctx, doc, num, obj);
+ fz_always(ctx)
+ pdf_drop_obj(ctx, obj);
+ fz_catch(ctx)
+ fz_rethrow(ctx);
}
else
{