summaryrefslogtreecommitdiff
path: root/source/fitz/colorspace.c
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2017-06-12 00:17:04 +0800
committerSebastian Rasmussen <sebras@gmail.com>2017-06-27 20:29:54 +0800
commitf82717d5909ddf795e4c043ec403e6415e85bc71 (patch)
tree5d33b2965e7e703a0633baccd0282091c6a6ecb0 /source/fitz/colorspace.c
parentf9064020d46660212b45b8171274830af6447b50 (diff)
downloadmupdf-f82717d5909ddf795e4c043ec403e6415e85bc71.tar.xz
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.
Diffstat (limited to 'source/fitz/colorspace.c')
-rw-r--r--source/fitz/colorspace.c11
1 files changed, 6 insertions, 5 deletions
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)
{