sh: Fix out of bounds array access when trap is used with an invalid signal.

MFC after:	1 week
This commit is contained in:
Jilles Tjoelker 2012-01-14 21:54:12 +00:00
parent c86072f5a7
commit 52c450395a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=230117

View File

@ -191,10 +191,11 @@ trapcmd(int argc, char **argv)
argv++;
}
}
while (*argv) {
for (; *argv; argv++) {
if ((signo = sigstring_to_signum(*argv)) == -1) {
warning("bad signal %s", *argv);
errors = 1;
continue;
}
INTOFF;
if (action)
@ -205,7 +206,6 @@ trapcmd(int argc, char **argv)
if (signo != 0)
setsignal(signo);
INTON;
argv++;
}
return errors;
}