diff options
author | Oleg Oshmyan <chortos@inbox.lv> | 2021-09-25 16:45:32 +0300 |
---|---|---|
committer | Oleg Oshmyan <chortos@inbox.lv> | 2021-09-25 16:49:16 +0300 |
commit | 4c3ace7cdcc740652331dbd57cc500b4ad50be81 (patch) | |
tree | 045acf7f267fdd9fbebe49bf48bfdcceb02e5982 /libass/ass_fontselect.c | |
parent | 2b30c69ca3a0c0767dac4f3486c9182d2a79cb38 (diff) | |
download | libass-4c3ace7cdcc740652331dbd57cc500b4ad50be81.tar.bz2 libass-4c3ace7cdcc740652331dbd57cc500b4ad50be81.tar.xz |
fontselect: don't leak substitution fullname array if it's empty
Discovered by OSS-Fuzz.
This is a longstanding bug (since 0.13.0 released in 2015, when
the new fontselect was first introduced), but it should be rare:
it only manifests when Fontconfig has no substitutions configured
(which is unusual) or when font name strdups fail.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39257.
Diffstat (limited to 'libass/ass_fontselect.c')
-rw-r--r-- | libass/ass_fontselect.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c index b47c4bc..02b8d9c 100644 --- a/libass/ass_fontselect.c +++ b/libass/ass_fontselect.c @@ -856,6 +856,7 @@ static char *select_font(ASS_FontSelector *priv, } if (!meta.n_fullname) { + free(meta.fullnames); meta = default_meta; } |