initctl: fix too long cmd arglist with 'initctl -v show'

Only append args that have length, MAX number of args are many.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2021-02-17 11:06:46 +01:00
1 parent 224fbedbf4
commit e5a53c175a
1 file changed
+5 -2
+5 -2
View File
@@ -523,11 +523,14 @@ static int show_status(char *arg)
if (!verbose) { if (!verbose) {
printf("%s\n", svc->desc); printf("%s\n", svc->desc);
} else { } else {
char args[512] = ""; char args[CMD_SIZE] = "";
for (i = 1; i < MAX_NUM_SVC_ARGS; i++) { for (i = 1; i < MAX_NUM_SVC_ARGS; i++) {
if (strlen(svc->args[i]) == 0)
continue;
if (args[0])
strlcat(args, " ", sizeof(args));
strlcat(args, svc->args[i], sizeof(args)); strlcat(args, svc->args[i], sizeof(args));
strlcat(args, " ", sizeof(args));
} }
printf("%s %s\n", svc->cmd, args); printf("%s %s\n", svc->cmd, args);