Commit 06c78e20 authored by Ilkka Ollakka's avatar Ilkka Ollakka

freetype: more fontconfig error-checking

parent 22a9a91a
...@@ -348,14 +348,19 @@ static int Create( vlc_object_t *p_this ) ...@@ -348,14 +348,19 @@ static int Create( vlc_object_t *p_this )
char *psz_fontsize; char *psz_fontsize;
if( asprintf( &psz_fontsize, "%d", p_sys->i_default_font_size ) == -1 ) if( asprintf( &psz_fontsize, "%d", p_sys->i_default_font_size ) == -1 )
goto error; goto error;
fontpattern = FcPatternCreate(); fontpattern = FcPatternCreate();
if( !fontpattern )
goto error;
FcPatternAddString( fontpattern, FC_FAMILY, psz_fontfamily); FcPatternAddString( fontpattern, FC_FAMILY, psz_fontfamily);
FcPatternAddString( fontpattern, FC_SIZE, psz_fontsize ); FcPatternAddString( fontpattern, FC_SIZE, psz_fontsize );
free( psz_fontsize );
if( FcConfigSubstitute( NULL, fontpattern, FcMatchPattern ) == FcFalse ) if( FcConfigSubstitute( NULL, fontpattern, FcMatchPattern ) == FcFalse )
{ {
FcPatternDestroy( fontpattern ); FcPatternDestroy( fontpattern );
free( psz_fontsize );
goto error; goto error;
} }
FcDefaultSubstitute( fontpattern ); FcDefaultSubstitute( fontpattern );
...@@ -363,15 +368,12 @@ static int Create( vlc_object_t *p_this ) ...@@ -363,15 +368,12 @@ static int Create( vlc_object_t *p_this )
fontmatch = FcFontMatch( NULL, fontpattern, &fontresult ); fontmatch = FcFontMatch( NULL, fontpattern, &fontresult );
if( fontresult == FcResultNoMatch ) if( fontresult == FcResultNoMatch )
{ {
free( psz_fontsize );
FcPatternDestroy( fontpattern ); FcPatternDestroy( fontpattern );
FcPatternDestroy( fontmatch );
goto error; goto error;
} }
FcPatternGetString( fontmatch, FC_FILE, 0, (FcChar8 **)&psz_fontfile); FcPatternGetString( fontmatch, FC_FILE, 0, (FcChar8 **)&psz_fontfile);
FcPatternGetInteger( fontmatch, FC_INDEX, 0, &fontindex ); FcPatternGetInteger( fontmatch, FC_INDEX, 0, &fontindex );
free( psz_fontsize );
if( !psz_fontfile ) if( !psz_fontfile )
{ {
FcPatternDestroy( fontpattern ); FcPatternDestroy( fontpattern );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment