diff options
| author | Po Lu <luangruo@yahoo.com> | 2026-05-25 11:29:32 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2026-05-25 11:29:32 +0800 |
| commit | d6215451fad244c6947dc6f67c039969853e6b12 (patch) | |
| tree | 2053c5732193fa1c1e8c519e098664237e3677c1 /src | |
| parent | 7cef36258148e2c202535b5761df8545718a27bf (diff) | |
Fix parsing of font metadata tables on Android
* src/sfnt.c (sfnt_read_meta_table): Allocate
`directory->length' bytes after the map rather than in place of
it.
Diffstat (limited to 'src')
| -rw-r--r-- | src/sfnt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sfnt.c b/src/sfnt.c index 4e4e2e121e6..956b89d3efb 100644 --- a/src/sfnt.c +++ b/src/sfnt.c @@ -5856,7 +5856,7 @@ sfnt_read_meta_table (int fd, struct sfnt_offset_subtable *subtable) if (ckd_mul (&map_size, sizeof *meta->data_maps, meta->num_data_maps) /* Do so while checking for overflow from bad sfnt files. */ || directory->length - required < map_size - || ckd_add (&data_size, data_size, directory->length)) + || ckd_add (&data_size, map_size, directory->length)) { xfree (meta); return NULL; |
