From 2d8c4d74d40bc6ae8c79cda36641b9f450ef92ef Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 28 Aug 2015 12:52:31 +0200 Subject: fontselect: deal with potential ASS_FontProvider.subst_font failure Don't assume it sets all fields. If it doesn't return any font names at all, go with the default. --- libass/ass_fontselect.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libass') diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c index 384054d..2653ed7 100644 --- a/libass/ass_fontselect.c +++ b/libass/ass_fontselect.c @@ -474,7 +474,7 @@ static char *select_font(ASS_FontSelector *priv, ASS_Library *library, char *family_trim = strdup_trimmed(family); ASS_FontProvider *default_provider = priv->default_provider; ASS_FontInfo *font_infos = priv->font_infos; - ASS_FontProviderMetaData meta; + ASS_FontProviderMetaData meta = {0}; if (family_trim == NULL) return NULL; @@ -491,7 +491,8 @@ static char *select_font(ASS_FontSelector *priv, ASS_Library *library, default_provider->funcs.subst_font(default_provider->priv, family_trim, &meta); req.n_fullname = meta.n_fullname; req.fullnames = meta.fullnames; - } else { + } + if (!req.n_fullname) { req.n_fullname = 1; req.fullnames = &family_trim; } -- cgit v1.2.3