]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/main: restore the correct assert about array position
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 25 Mar 2023 10:58:49 +0000 (11:58 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 26 Mar 2023 00:48:14 +0000 (09:48 +0900)
'pos' is incremented after each assignment. If we use the maximum number
of arguments, we end up with pos==9 after all the assignments, and it
points to where the next value would be assigned. This position must remain
NULL.

The assert I "fixed" was intentionally introduced in
26abdc73a212b90f7c4b71808a1028d2e87ab09f as a bugfix. So my "fix" repeated
the same error that was fixed back then.

src/core/main.c

index 3d7b2a5f649d6c79e41fbb34621e321ab56096b8..88bef6740ccf4a54b71c6b090db9625c62136043 100644 (file)
@@ -1572,7 +1572,7 @@ static int become_shutdown(int objective, int retval) {
                 command_line[pos++] = exit_code;
         }
 
-        assert(pos < ELEMENTSOF(command_line) - 1);
+        assert(pos < ELEMENTSOF(command_line));
 
         /* The watchdog: */