diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2017-06-12 00:17:04 +0800 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2017-06-27 20:29:54 +0800 |
commit | f82717d5909ddf795e4c043ec403e6415e85bc71 (patch) | |
tree | 5d33b2965e7e703a0633baccd0282091c6a6ecb0 /source/fitz | |
parent | f9064020d46660212b45b8171274830af6447b50 (diff) | |
download | mupdf-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')
-rw-r--r-- | source/fitz/colorspace.c | 11 |
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) { |