mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-10 17:30:18 +01:00
Merge branch 'master' into 'master'
cairo truetype reverse cmap detected memory leaks See merge request cairo/cairo!494
This commit is contained in:
commit
3f732bd3d9
1 changed files with 8 additions and 4 deletions
|
|
@ -1317,8 +1317,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]);
|
||||
|
|
@ -1355,8 +1357,10 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font,
|
|||
int j;
|
||||
|
||||
if (range_size > 0) {
|
||||
if ((char*)glyph_ids + 2*range_size > (char*)map + size)
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
if ((char*)glyph_ids + 2*range_size > (char*)map + size) {
|
||||
status = CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
for (j = 0; j < range_size; j++) {
|
||||
if (glyph_ids[j] == g_id_be) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue