cvs: gd(GD_2_0) /libgd/src gdft.c

From: Date: Wed, 15 Apr 2009 17:30:45 +0000
Subject: cvs: gd(GD_2_0) /libgd/src gdft.c
Groups: php.gd.cvs 
Request: Send a blank email to php-gd-cvs+get-608@lists.php.net to get a copy of this message
tabe Wed Apr 15 17:30:45 2009 UTC Modified files: (Branch: GD_2_0) /gd/libgd/src gdft.c Log: MFH: decrement the pattern reference count in case of failure. http://cvs.php.net/viewvc.cgi/gd/libgd/src/gdft.c?r1=1.28.2.13&r2=1.28.2.14&diff_format=u Index: gd/libgd/src/gdft.c diff -u gd/libgd/src/gdft.c:1.28.2.13 gd/libgd/src/gdft.c:1.28.2.14 --- gd/libgd/src/gdft.c:1.28.2.13 Wed Apr 15 16:20:26 2009 +++ gd/libgd/src/gdft.c Wed Apr 15 17:30:45 2009 @@ -1511,8 +1511,12 @@ font = find_font(pattern); FcPatternDestroy(pattern); - if (!font || FcPatternGetString(font, FC_FAMILY, 0, &family) != FcResultMatch) - return "fontconfig: Couldn't retrieve font family name."; + if (!font) + return "fontconfig: Couldn't find font."; + if (FcPatternGetString(font, FC_FAMILY, 0, &family) != FcResultMatch) { + FcPatternDestroy(font); + return "fontconfig: Couldn't retrieve font family name."; + } /* Check whether we got the font family we wanted. */ if (strcmp((const char *)family, postscript_alias[i].family) != 0) { @@ -1552,8 +1556,12 @@ } #endif - if (!font || FcPatternGetString(font, FC_FILE, 0, &file) != FcResultMatch) + if (!font) + return "fontconfig: Couldn't find font."; + if (FcPatternGetString(font, FC_FILE, 0, &file) != FcResultMatch) { + FcPatternDestroy(font); return "fontconfig: Couldn't retrieve font file name."; + } *fontpath = strdup((const char *)file);

« previous php.gd.cvs (#608) next »