diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2018-08-27 17:07:13 +0800 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2018-08-28 22:48:13 +0800 |
commit | d958fdda891752563fc3b7b36448061f1809e683 (patch) | |
tree | bea2788864938306cf1bad1fcdf780f7cc740e0b | |
parent | 95e87b5b702f6b6b9603a98d7753aba4b59a0267 (diff) | |
download | mupdf-d958fdda891752563fc3b7b36448061f1809e683.tar.xz |
Bug 699675: Handle lack of default colorspaces when rendering type 3 font glyph.
Previously this would result in trying to dereference a NULL pointer.
Thanks to oss-fuzz for reporting.
-rw-r--r-- | source/fitz/colorspace.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/fitz/colorspace.c b/source/fitz/colorspace.c index eee90f46..e7a97d04 100644 --- a/source/fitz/colorspace.c +++ b/source/fitz/colorspace.c @@ -4055,10 +4055,13 @@ fz_clone_default_colorspaces(fz_context *ctx, fz_default_colorspaces *base) { fz_default_colorspaces *default_cs = fz_malloc_struct(ctx, fz_default_colorspaces); default_cs->refs = 1; - default_cs->gray = fz_keep_colorspace(ctx, base->gray); - default_cs->rgb = fz_keep_colorspace(ctx, base->rgb); - default_cs->cmyk = fz_keep_colorspace(ctx, base->cmyk); - default_cs->oi = fz_keep_colorspace(ctx, base->oi); + if (base) + { + default_cs->gray = fz_keep_colorspace(ctx, base->gray); + default_cs->rgb = fz_keep_colorspace(ctx, base->rgb); + default_cs->cmyk = fz_keep_colorspace(ctx, base->cmyk); + default_cs->oi = fz_keep_colorspace(ctx, base->oi); + } return default_cs; } |