summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2026-05-25 11:29:32 +0800
committerPo Lu <luangruo@yahoo.com>2026-05-25 11:29:32 +0800
commitd6215451fad244c6947dc6f67c039969853e6b12 (patch)
tree2053c5732193fa1c1e8c519e098664237e3677c1
parent7cef36258148e2c202535b5761df8545718a27bf (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.
-rw-r--r--src/sfnt.c2
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;