diff mbox

jobs: Don't attempt to access job table for job %0

Message ID 1449734374-23041-1-git-send-email-tklauser@distanz.ch (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show

Commit Message

Tobias Klauser Dec. 10, 2015, 7:59 a.m. UTC
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 <tklauser@distanz.ch>
---
 src/jobs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Herbert Xu June 6, 2016, 11:57 a.m. UTC | #1
On Thu, Dec 10, 2015 at 08:59:34AM +0100, Tobias Klauser wrote:
> 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 <tklauser@distanz.ch>

Patch applied.  Thanks!
diff mbox

Patch

diff --git a/src/jobs.c b/src/jobs.c
index c2c2332a25fa..39978635d891 100644
--- a/src/jobs.c
+++ b/src/jobs.c
@@ -699,7 +699,7 @@  check:
 
 	if (is_number(p)) {
 		num = atoi(p);
-		if (num <= njobs) {
+		if (num > 0 && num <= njobs) {
 			jp = jobtab + num - 1;
 			if (jp->used)
 				goto gotit;