[SCSI] eata: fix buffer overflow
authorRoel Kluin <roel.kluin@gmail.com>
Tue, 8 Dec 2009 22:08:57 +0000 (14:08 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Mon, 18 Jan 2010 16:48:07 +0000 (10:48 -0600)
Allows i == MAX_INT_PARAM, which is out of range.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/eata.c

index c7076ce25e2121dcad840347314cea0ac2997890..3c5abf7cd762d0fa3229e37fc14914e86d64de89 100644 (file)
@@ -1509,7 +1509,7 @@ static int option_setup(char *str)
        char *cur = str;
        int i = 1;
 
-       while (cur && isdigit(*cur) && i <= MAX_INT_PARAM) {
+       while (cur && isdigit(*cur) && i < MAX_INT_PARAM) {
                ints[i++] = simple_strtoul(cur, NULL, 0);
 
                if ((cur = strchr(cur, ',')) != NULL)