Don't crash in FcPatternFormat() with NULL pattern

This commit is contained in:
Behdad Esfahbod 2013-01-01 20:20:31 -06:00
parent c9581b47c4
commit 8198127b25
1 changed files with 5 additions and 1 deletions

View File

@ -1193,15 +1193,19 @@ FcPatternFormat (FcPattern *pat,
{ {
FcStrBuf buf; FcStrBuf buf;
FcChar8 buf_static[8192 - 1024]; FcChar8 buf_static[8192 - 1024];
FcPattern *alloced = NULL;
FcBool ret; FcBool ret;
if (!pat) if (!pat)
return NULL; alloced = pat = FcPatternCreate ();
FcStrBufInit (&buf, buf_static, sizeof (buf_static)); FcStrBufInit (&buf, buf_static, sizeof (buf_static));
ret = FcPatternFormatToBuf (pat, format, &buf); ret = FcPatternFormatToBuf (pat, format, &buf);
if (alloced)
FcPatternDestroy (alloced);
if (ret) if (ret)
return FcStrBufDone (&buf); return FcStrBufDone (&buf);
else else