summaryrefslogtreecommitdiff
path: root/source/fitz/load-jxr.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz/load-jxr.c')
-rw-r--r--source/fitz/load-jxr.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/fitz/load-jxr.c b/source/fitz/load-jxr.c
index a501e341..e61d6e7a 100644
--- a/source/fitz/load-jxr.c
+++ b/source/fitz/load-jxr.c
@@ -414,9 +414,18 @@ fz_load_jxr(fz_context *ctx, unsigned char *data, size_t size)
if (info.comps >= 4)
{
fz_pixmap *rgb = fz_new_pixmap(ctx, fz_device_rgb(ctx), image->w, image->h, 1);
- fz_convert_pixmap(ctx, rgb, image);
+
rgb->xres = image->xres;
rgb->yres = image->yres;
+
+ fz_try(ctx)
+ fz_convert_pixmap(ctx, rgb, image);
+ fz_catch(ctx)
+ {
+ fz_drop_pixmap(ctx, rgb);
+ fz_rethrow(ctx);
+ }
+
fz_drop_pixmap(ctx, image);
image = rgb;
}