0024-skill: Always NULL-terminate argv.
The memmove() itself does not move the NULL-terminator, because nargs is decremented first. Copy how skill_sig_option() does it: decrement nargs last, and remove the "if (nargs - i)" (we are in "while (i < nargs)").
This commit is contained in:
parent
fa7ea000ce
commit
18efff2a1f
5
skill.c
5
skill.c
@ -374,10 +374,9 @@ static int snice_prio_option(int *argc, char **argv)
|
|||||||
if (prio < INT_MIN || INT_MAX < prio)
|
if (prio < INT_MIN || INT_MAX < prio)
|
||||||
xerrx(EXIT_FAILURE,
|
xerrx(EXIT_FAILURE,
|
||||||
_("priority %lu out of range"), prio);
|
_("priority %lu out of range"), prio);
|
||||||
|
memmove(argv + i, argv + i + 1,
|
||||||
|
sizeof(char *) * (nargs - i));
|
||||||
nargs--;
|
nargs--;
|
||||||
if (nargs - i)
|
|
||||||
memmove(argv + i, argv + i + 1,
|
|
||||||
sizeof(char *) * (nargs - i));
|
|
||||||
} else
|
} else
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user