From 74ff87cc141bc1b88a38ee90f95b3d935c938a56 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net> Date: Sat, 17 Nov 2012 11:04:12 +0200 Subject: [PATCH] FreeType: fix NULL deref on embedded fonts (fixes #7771) FT_Face.family_name can be NULL for embedded fonts. See also http://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_FaceRec (cherry picked from commit d96f6e23adfd24ec188cb2a7b31cc2e992291172) --- modules/text_renderer/freetype.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/text_renderer/freetype.c b/modules/text_renderer/freetype.c index 5cd3ba1..622bb11 100644 --- a/modules/text_renderer/freetype.c +++ b/modules/text_renderer/freetype.c @@ -1790,8 +1790,10 @@ static FT_Face LoadEmbeddedFace( filter_sys_t *p_sys, const text_style_t *p_styl { int i_style_received = ((p_face->style_flags & FT_STYLE_FLAG_BOLD) ? STYLE_BOLD : 0) | ((p_face->style_flags & FT_STYLE_FLAG_ITALIC ) ? STYLE_ITALIC : 0); - if( !strcasecmp( p_face->family_name, p_style->psz_fontname ) && - (p_style->i_style_flags & (STYLE_BOLD | STYLE_ITALIC)) == i_style_received ) + if( p_face->family_name != NULL + && !strcasecmp( p_face->family_name, p_style->psz_fontname ) + && (p_style->i_style_flags & (STYLE_BOLD | STYLE_ITALIC)) + == i_style_received ) return p_face; FT_Done_Face( p_face ); -- 1.7.10.4