summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2018-08-27 17:07:13 +0800
committerSebastian Rasmussen <sebras@gmail.com>2018-08-28 22:48:13 +0800
commitd958fdda891752563fc3b7b36448061f1809e683 (patch)
treebea2788864938306cf1bad1fcdf780f7cc740e0b
parent95e87b5b702f6b6b9603a98d7753aba4b59a0267 (diff)
downloadmupdf-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.c11
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;
}