From f19e2fe080ddcfce93c8234a919fd882f3d63362 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Fri, 13 Sep 2024 06:28:39 +0930 Subject: [PATCH] cff: Don't fail if no local subs Fixes: #870 --- src/cairo-cff-subset.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c index 076cb2b0a..8a7de0065 100644 --- a/src/cairo-cff-subset.c +++ b/src/cairo-cff-subset.c @@ -952,9 +952,13 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t *font, decode_number (operand, nominal_width); num_subs = _cairo_array_num_elements (local_sub_index); - *local_subs_used = _cairo_calloc_ab (num_subs, sizeof (cairo_bool_t)); - if (unlikely (*local_subs_used == NULL)) - return _cairo_error (CAIRO_STATUS_NO_MEMORY); + if (num_subs > 0) { + *local_subs_used = _cairo_calloc_ab (num_subs, sizeof (cairo_bool_t)); + if (unlikely (*local_subs_used == NULL)) + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + } else { + *local_subs_used = NULL; + } if (num_subs < 1240) *local_sub_bias = 107; -- GitLab