From d958fdda891752563fc3b7b36448061f1809e683 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Mon, 27 Aug 2018 17:07:13 +0800 Subject: 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. --- source/fitz/colorspace.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'source') 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; } -- cgit v1.2.3