]> git.sesse.net Git - vlc/commitdiff
FreeType: fix NULL deref on embedded fonts (fixes #7771)
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 17 Nov 2012 09:04:12 +0000 (11:04 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 17 Nov 2012 09:04:12 +0000 (11:04 +0200)
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

modules/text_renderer/freetype.c

index 1af8d78863617bb18288e0ff95ef7a218933d75a..dfb08eecc9a27c15c564fd2b7bf1c8a269f9a767 100644 (file)
@@ -1788,8 +1788,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 );