X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fload-fragment.c;h=3146186843f166fd8a76a70b7a379255563fcae8;hb=e025b4c306d4b0895786839ebbb934188edc6e61;hp=0c2ef916522350a70b82c1c0291a6b85e5aba0a2;hpb=64747e2d4b6feb61e9f9e70d36ffcf5a972e168a;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);