summaryrefslogtreecommitdiff
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
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.
-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)
{