X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fload-fragment.c;fp=src%2Fload-fragment.c;h=3146186843f166fd8a76a70b7a379255563fcae8;hb=f284f69a7b0ed1eb4aa812251902e055b0e530b1;hp=0c2ef916522350a70b82c1c0291a6b85e5aba0a2;hpb=d42d27ead91e470cb12986d928441e56c0f543ca;p=elogind.git diff --git a/src/load-fragment.c b/src/load-fragment.c index 0c2ef9165..314618684 100644 --- a/src/load-fragment.c +++ b/src/load-fragment.c @@ -1071,10 +1071,23 @@ static int config_parse_cgroup( char *state; FOREACH_WORD_QUOTED(w, l, rvalue, state) { - char *t; + char *t, *k; int r; - if (!(t = cunescape_length(w, l))) + t = strndup(w, l); + if (!t) + return -ENOMEM; + + k = unit_full_printf(u, t); + free(t); + + if (!k) + return -ENOMEM; + + t = cunescape(k); + free(k); + + if (!t) return -ENOMEM; r = unit_add_cgroup_from_text(u, t);