From: Dave Reisner Date: Sat, 8 Mar 2014 22:32:53 +0000 (-0500) Subject: fix off by one error in array index assertion X-Git-Tag: v211~51 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=26abdc73a212b90f7c4b71808a1028d2e87ab09f;hp=d5ce683c0780c02cf657be4f5cff506edf913f0a fix off by one error in array index assertion Since the index is already post-incremented when the array is appended to, this assertion can be wrongly reached when the array is at capacity (with the NULL terminator). The bug is reproducible on shutdown with the following settings in /etc/systemd/system.conf: LogTarget=journal-or-kmsg LogColor=yes LogLocation=yes Reported by Thermi on IRC. --- diff --git a/src/core/main.c b/src/core/main.c index 6ebfe6418..f1b06d888 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1994,7 +1994,7 @@ finish: if (log_get_show_location()) command_line[pos++] = "--log-location"; - assert(pos + 1 < ELEMENTSOF(command_line)); + assert(pos < ELEMENTSOF(command_line)); if (arm_reboot_watchdog && arg_shutdown_watchdog > 0) { char *e;