From f82717d5909ddf795e4c043ec403e6415e85bc71 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Mon, 12 Jun 2017 00:17:04 +0800 Subject: Make the entire cached color converter defined in case of error. Previously some parts were left undefined which caused problems when finalizing it during the error cleanup. --- source/fitz/colorspace.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'source/fitz/colorspace.c') diff --git a/source/fitz/colorspace.c b/source/fitz/colorspace.c index 05b46ac6..ce608ef0 100644 --- a/source/fitz/colorspace.c +++ b/source/fitz/colorspace.c @@ -2889,15 +2889,16 @@ void fz_init_cached_color_converter(fz_context *ctx, fz_color_converter *cc, fz_ int n = ss->n; fz_cached_color_converter *cached = fz_malloc_struct(ctx, fz_cached_color_converter); + cc->opaque = cached; + cc->convert = fz_cached_color_convert; + cc->ds = ds; + cc->ss = ss; + cc->is = is; + fz_try(ctx) { fz_find_color_converter(ctx, &cached->base, is, ds, ss, params); cached->hash = fz_new_hash_table(ctx, 256, n * sizeof(float), -1, fz_free); - cc->convert = fz_cached_color_convert; - cc->ds = ds; - cc->ss = ss; - cc->is = is; - cc->opaque = cached; } fz_catch(ctx) { -- cgit v1.2.3