diff options
author | Patrick Lam <plam@MIT.EDU> | 2006-04-12 02:38:28 +0000 |
---|---|---|
committer | Patrick Lam <plam@MIT.EDU> | 2006-04-12 02:38:28 +0000 |
commit | 5c90509c073b3879fd9e3a2dc9dddeb724757ccf (patch) | |
tree | 9827fb88b0a07880b881646164460ffa3339961c | |
parent | 2de24638b23f65b5586cebe3e9d9f4577a40673e (diff) | |
download | fontconfig-5c90509c073b3879fd9e3a2dc9dddeb724757ccf.tar.gz |
Don't crash if config is null (Coverity defect #984).
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | src/fccache.c | 5 |
2 files changed, 12 insertions, 6 deletions
@@ -1,18 +1,23 @@ +2006-04-11 Patrick Lam <plam@mit.edu> + * src/fccache.c (FcGlobalCacheReadDir): + + Don't crash if config is null (Coverity defect #984). + 2006-04-11 Frederic Crozat <fcrozat@mandriva.com> reviewed by: plam - * src/fccharset.c: (FcCharSetPutLeaf): - * src/fclang.c: (FcNameUnparseLangSet): + * src/fccharset.c (FcCharSetPutLeaf): + * src/fclang.c (FcNameUnparseLangSet): Missing bits from previous patches. * src/fccharset.c (FcCharSetSubtractCount): Remove extra semi-colon. - * src/fccfg.c: (FcConfigBuildFonts): + * src/fccfg.c (FcConfigBuildFonts): Fix memory leak in error case (Coverity defects #776, #985). - * src/fcxml.c: (FcPopBinary, FcParsePatelt, FcParsePattern): + * src/fcxml.c (FcPopBinary, FcParsePatelt, FcParsePattern): Fix memory leaks (Coverity defects #779, #781) and memory use after free (Coverity defect #780). diff --git a/src/fccache.c b/src/fccache.c index 23c37f1..58f925d 100644 --- a/src/fccache.c +++ b/src/fccache.c @@ -320,8 +320,9 @@ FcGlobalCacheReadDir (FcFontSet *set, FcStrSet *dirs, FcGlobalCache * cache, con if (cache->fd == -1) return FcFalse; - if (!(dir = (char *)FcConfigNormalizeFontDir (config, (FcChar8 *)dir))) - return FcFalse; /* non-existing directory */ + if (config) + if (!(dir = (char *)FcConfigNormalizeFontDir (config, (FcChar8 *)dir))) + return FcFalse; /* non-existing directory */ for (d = cache->dirs; d; d = d->next) { |