From 880ed0a3dd992d4ab6b8f1d73f862fb930dc2eaa Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Sat, 17 Dec 2011 11:16:22 +0000 Subject: More Memory Squeezing fixes. --- fitz/res_pixmap.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'fitz/res_pixmap.c') diff --git a/fitz/res_pixmap.c b/fitz/res_pixmap.c index 1f81e0e1..99132a31 100644 --- a/fitz/res_pixmap.c +++ b/fitz/res_pixmap.c @@ -50,14 +50,22 @@ fz_new_pixmap_with_data(fz_context *ctx, fz_colorspace *colorspace, int w, int h pix->n = 1 + colorspace->n; } + pix->samples = samples; if (samples) { - pix->samples = samples; pix->free_samples = 0; } else { - pix->samples = fz_malloc_array(ctx, pix->h, pix->w * pix->n); + fz_try(ctx) + { + pix->samples = fz_malloc_array(ctx, pix->h, pix->w * pix->n); + } + fz_catch(ctx) + { + fz_free(ctx, pix); + fz_rethrow(ctx); + } pix->free_samples = 1; } -- cgit v1.2.3