cvs: gd /libgd/src gdft.c
[email protected] ("Takeshi Abe") Wed, 15 Apr 2009 17:24:45 -0000
| Newsgroups | php.gd.cvs |
|---|---|
| Message-ID | <cvstabe1239816285@cvsserver> |
tabe Wed Apr 15 17:24:45 2009 UTC
Modified files:
/gd/libgd/src gdft.c
Log:
decrement the pattern reference count in case of failure.
http://cvs.php.net/viewvc.cgi/gd/libgd/src/gdft.c?r1=1.40&r2=1.41&diff_format=u
Index: gd/libgd/src/gdft.c
diff -u gd/libgd/src/gdft.c:1.40 gd/libgd/src/gdft.c:1.41
--- gd/libgd/src/gdft.c:1.40 Wed Apr 15 16:19:15 2009
+++ gd/libgd/src/gdft.c Wed Apr 15 17:24:45 2009
@@ -1517,8 +1517,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) {
@@ -1558,8 +1562,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);