From: Denys Vlasenko Date: Wed, 28 Sep 2016 23:10:08 +0000 (+0200) Subject: ash: jobs: Don't attempt to access job table for job %0 X-Git-Tag: 1_26_0~237 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=46a45ce02f2c6e775d437c66c5965458bb5d35d8;p=oweals%2Fbusybox.git ash: jobs: Don't attempt to access job table for job %0 Upstream commit: jobs: Don't attempt to access job table for job %0 If job %0 is (mistakenly) specified, an out-of-bounds access to the jobtab occurs in function getjob() if num = 0: jp = jobtab + 0 - 1 Fix this by checking that the job number is larger than 0 before accessing the jobtab. Signed-off-by: Tobias Klauser Signed-off-by: Herbert Xu Signed-off-by: Denys Vlasenko --- diff --git a/shell/ash.c b/shell/ash.c index d0c0a510c..a31cee259 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -3654,7 +3654,7 @@ getjob(const char *name, int getctl) if (is_number(p)) { num = atoi(p); - if (num <= njobs) { + if (num > 0 && num <= njobs) { jp = jobtab + num - 1; if (jp->used) goto gotit;