summaryrefslogtreecommitdiff
path: root/source/fitz/output-cbz.c
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2017-06-11 23:11:42 +0800
committerSebastian Rasmussen <sebras@gmail.com>2017-09-07 21:02:53 +0800
commit8cb0a389794356d7b6624f78365a5e92efdeb8e8 (patch)
treef05e3442351a46af3e4d5209f8b754c6b33f948f /source/fitz/output-cbz.c
parenta27d9903ec238af6e4c1c59de1e1dae817b4f028 (diff)
downloadmupdf-8cb0a389794356d7b6624f78365a5e92efdeb8e8.tar.xz
Make sure to always drop a fz_device even upon error.
Diffstat (limited to 'source/fitz/output-cbz.c')
-rw-r--r--source/fitz/output-cbz.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/source/fitz/output-cbz.c b/source/fitz/output-cbz.c
index 68a71fed..0abeb1a4 100644
--- a/source/fitz/output-cbz.c
+++ b/source/fitz/output-cbz.c
@@ -31,8 +31,12 @@ cbz_end_page(fz_context *ctx, fz_document_writer *wri_, fz_device *dev)
fz_buffer *buffer;
char name[40];
- fz_close_device(ctx, dev);
- fz_drop_device(ctx, dev);
+ fz_try(ctx)
+ fz_close_device(ctx, dev);
+ fz_always(ctx)
+ fz_drop_device(ctx, dev);
+ fz_catch(ctx)
+ fz_rethrow(ctx);
wri->count += 1;
@@ -111,8 +115,12 @@ pixmap_end_page(fz_context *ctx, fz_document_writer *wri_, fz_device *dev)
fz_pixmap_writer *wri = (fz_pixmap_writer*)wri_;
char path[PATH_MAX];
- fz_close_device(ctx, dev);
- fz_drop_device(ctx, dev);
+ fz_try(ctx)
+ fz_close_device(ctx, dev);
+ fz_always(ctx)
+ fz_drop_device(ctx, dev);
+ fz_catch(ctx)
+ fz_rethrow(ctx);
wri->count += 1;