From 1f39cb2e344ddaac89da743a926d06c60e08614b Mon Sep 17 00:00:00 2001 From: sun_hai_10 Date: Wed, 14 Jun 2023 15:37:22 +0800 Subject: [PATCH] cairo truetype reverse cmap detected memory leaks --- src/cairo-truetype-subset.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cairo-truetype-subset.c b/src/cairo-truetype-subset.c index 6cef4ee..472294f 100644 --- a/src/cairo-truetype-subset.c +++ b/src/cairo-truetype-subset.c @@ -1311,8 +1311,10 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font, /* A Format 4 cmap contains 8 uint16_t numbers and 4 arrays of * uint16_t each num_segments long. */ - if (size < (8 + 4*num_segments)*sizeof(uint16_t)) - return CAIRO_INT_STATUS_UNSUPPORTED; + if (size < (8 + 4*num_segments)*sizeof(uint16_t)) { + status = CAIRO_INT_STATUS_UNSUPPORTED; + goto fail; + } end_code = map->endCount; start_code = &(end_code[num_segments + 1]); -- 2.23.0