cvs: gd(GD_2_0) /libgd/src gdft.c
[email protected] ("Takeshi Abe") Wed, 15 Apr 2009 17:30:45 -0000
| Newsgroups | php.gd.cvs |
|---|---|
| Message-ID | <cvstabe1239816645@cvsserver> |
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);