X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=src%2Ffcxml.c;h=4831e167480aa740f9551df13659efcff7345c48;hb=ff3f1f98ed240a4cde511cace7acd09d40548656;hp=257b6cc146acaa63d8c08d40862d7f89eb77eec8;hpb=bf0093b72487bd463b9c7700902cd8765534c9c1;p=fontconfig.git diff --git a/src/fcxml.c b/src/fcxml.c index 257b6cc..4831e16 100644 --- a/src/fcxml.c +++ b/src/fcxml.c @@ -1600,8 +1600,11 @@ FcEndElement(void *userData, const XML_Char *name) FcConfigMessage (parse, FcSevereError, "out of memory"); break; } - if (!FcConfigAddDir (parse->config, data)) - FcConfigMessage (parse, FcSevereError, "out of memory"); + if (!FcStrUsesHome (data) || FcConfigHome ()) + { + if (!FcConfigAddDir (parse->config, data)) + FcConfigMessage (parse, FcSevereError, "out of memory"); + } FcStrFree (data); break; case FcElementCache: @@ -1611,8 +1614,11 @@ FcEndElement(void *userData, const XML_Char *name) FcConfigMessage (parse, FcSevereError, "out of memory"); break; } - if (!FcConfigSetCache (parse->config, data)) - FcConfigMessage (parse, FcSevereError, "out of memory"); + if (!FcStrUsesHome (data) || FcConfigHome ()) + { + if (!FcConfigSetCache (parse->config, data)) + FcConfigMessage (parse, FcSevereError, "out of memory"); + } FcStrFree (data); break; case FcElementInclude: