diff options
author | Rodger Combs <rodger.combs@gmail.com> | 2019-03-23 08:30:32 -0500 |
---|---|---|
committer | Oleg Oshmyan <chortos@inbox.lv> | 2019-09-26 16:51:09 +0300 |
commit | f62f5f0d05480ea5d8f8dd50bae55243b1cfb90b (patch) | |
tree | dc3bfda56895740e3906b76011f07d934d603d40 | |
parent | 6c2120a7cb4a6fd648ef37ad8f0d961cbd60f500 (diff) | |
download | libass-f62f5f0d05480ea5d8f8dd50bae55243b1cfb90b.tar.bz2 libass-f62f5f0d05480ea5d8f8dd50bae55243b1cfb90b.tar.xz |
fontselect: add overflow check
-rw-r--r-- | libass/ass_fontselect.c | 4 |
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; |