From: Lennart Poettering Date: Mon, 5 Jan 2015 00:56:47 +0000 (+0100) Subject: systemctl: properly iterate through service array when dispatching to sysv X-Git-Tag: v219~702 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=aba843317d8acc4634417becebaedcfe5805d49d systemctl: properly iterate through service array when dispatching to sysv https://bugzilla.redhat.com/show_bug.cgi?id=1175734 --- diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 9c4b9ed27..3d939f050 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -5188,8 +5188,10 @@ static int enable_sysv_units(const char *verb, char **args) { return -EPROTO; /* Remove this entry, so that we don't try enabling it as native unit */ - assert(f > 0 && streq(args[f-1], name)); - assert_se(strv_remove(args + f - 1, name)); + assert(f > 0); + f--; + assert(args[f] == name); + strv_remove(args, name); } #endif