Fix double-free which occurs because FcValueCanonicalize doesn't create an

extra copy of the returned value, it only canonicalizes it.
reviewed by: plam
This commit is contained in:
Patrick Lam 2006-01-02 17:20:23 +00:00
parent cea78a8791
commit 52ac91f7c1
2 changed files with 11 additions and 1 deletions

View File

@ -1,4 +1,13 @@
2005-01-02 Patrick Lam <plam@mit.edu> 2006-01-02 Lubos Lunak <l.lunak@suse.cz>
reviewed by: plam
* src/fccfg.c (FcConfigEvaluate):
Fix double-free which occurs because FcValueCanonicalize doesn't
create an extra copy of the returned value, it only canonicalizes
it.
2006-01-02 Patrick Lam <plam@mit.edu>
* doc/fontconfig-user.sgml: * doc/fontconfig-user.sgml:
Fix version of .cache file (currently 1 -> currently 2). Reported Fix version of .cache file (currently 1 -> currently 2). Reported

View File

@ -823,6 +823,7 @@ FcConfigEvaluate (FcPattern *p, FcExpr *e)
r = FcPatternGet (p, e->u.field, 0, &v); r = FcPatternGet (p, e->u.field, 0, &v);
if (r != FcResultMatch) if (r != FcResultMatch)
v.type = FcTypeVoid; v.type = FcTypeVoid;
v = FcValueSave (v);
break; break;
case FcOpConst: case FcOpConst:
if (FcNameConstant (e->u.constant, &v.u.i)) if (FcNameConstant (e->u.constant, &v.u.i))