30 lines
993 B
Diff
30 lines
993 B
Diff
From 1f39cb2e344ddaac89da743a926d06c60e08614b Mon Sep 17 00:00:00 2001
|
|
From: sun_hai_10 <sunhai10@huawei.com>
|
|
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
|
|
|