chiark / gitweb /
systemctl: properly iterate through service array when dispatching to sysv
authorLennart Poettering <lennart@poettering.net>
Mon, 5 Jan 2015 00:56:47 +0000 (01:56 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 5 Jan 2015 00:56:47 +0000 (01:56 +0100)
https://bugzilla.redhat.com/show_bug.cgi?id=1175734

src/systemctl/systemctl.c

index 9c4b9ed277395c0d530f39d5fe23097645ab40ae..3d939f050b707722eb20a0017ec6a85522b9bba0 100644 (file)
@@ -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