summaryrefslogtreecommitdiffstats
path: root/libass/ass_fontselect.c
diff options
context:
space:
mode:
authorRodger Combs <rodger.combs@gmail.com>2019-03-23 08:30:32 -0500
committerOleg Oshmyan <chortos@inbox.lv>2019-09-26 16:51:09 +0300
commitf62f5f0d05480ea5d8f8dd50bae55243b1cfb90b (patch)
treedc3bfda56895740e3906b76011f07d934d603d40 /libass/ass_fontselect.c
parent6c2120a7cb4a6fd648ef37ad8f0d961cbd60f500 (diff)
downloadlibass-f62f5f0d05480ea5d8f8dd50bae55243b1cfb90b.tar.bz2
libass-f62f5f0d05480ea5d8f8dd50bae55243b1cfb90b.tar.xz
fontselect: add overflow check
Diffstat (limited to 'libass/ass_fontselect.c')
-rw-r--r--libass/ass_fontselect.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c
index 9c4bb3b..e9748de 100644
--- a/libass/ass_fontselect.c
+++ b/libass/ass_fontselect.c
@@ -786,14 +786,14 @@ get_font_info(FT_Library lib, FT_Face face, ASS_FontProviderMetaData *info)
ass_utf16be_to_utf8(buf, sizeof(buf), (uint8_t *)name.string,
name.string_len);
- if (name.name_id == TT_NAME_ID_FULL_NAME) {
+ if (name.name_id == TT_NAME_ID_FULL_NAME && num_fullname < MAX_FULLNAME) {
fullnames[num_fullname] = strdup(buf);
if (fullnames[num_fullname] == NULL)
goto error;
num_fullname++;
}
- if (name.name_id == TT_NAME_ID_FONT_FAMILY) {
+ if (name.name_id == TT_NAME_ID_FONT_FAMILY && num_family < MAX_FULLNAME) {
families[num_family] = strdup(buf);
if (families[num_family] == NULL)
goto error;