diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2018-09-25 22:29:38 +0800 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2018-10-12 15:50:49 +0800 |
commit | 886f91221527e8cb706d8e1824b4d4cfa8c86505 (patch) | |
tree | 976c651f97e25ccd0d3c3e409d13a41734631b26 | |
parent | ad9daf38f0f59a04fe5eebff286b5d3ffc8c9f1a (diff) | |
download | mupdf-886f91221527e8cb706d8e1824b4d4cfa8c86505.tar.xz |
Drop separation pixmap upon exception.
-rw-r--r-- | source/fitz/separation.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source/fitz/separation.c b/source/fitz/separation.c index 8b86a128..e8d143e2 100644 --- a/source/fitz/separation.c +++ b/source/fitz/separation.c @@ -230,7 +230,7 @@ fz_pixmap * fz_clone_pixmap_area_with_different_seps(fz_context *ctx, fz_pixmap *src, const fz_irect *bbox, fz_colorspace *dcs, fz_separations *dseps, const fz_color_params *color_params, fz_default_colorspaces *default_cs) { fz_irect local_bbox; - fz_pixmap *dst; + fz_pixmap *dst, *pix; if (bbox == NULL) { @@ -247,7 +247,15 @@ fz_clone_pixmap_area_with_different_seps(fz_context *ctx, fz_pixmap *src, const else dst->flags &= ~FZ_PIXMAP_FLAG_INTERPOLATE; - return fz_copy_pixmap_area_converting_seps(ctx, dst, src, color_params, NULL, default_cs); + fz_try(ctx) + pix = fz_copy_pixmap_area_converting_seps(ctx, dst, src, color_params, NULL, default_cs); + fz_catch(ctx) + { + fz_drop_pixmap(ctx, dst); + fz_rethrow(ctx); + } + + return pix; } /* |