Re: [PATCH] drivers/char/tipar.c: off by one array access

From: randy_dunlap
Date: Sun Jun 19 2005 - 22:05:25 EST


On Sun, 19 Jun 2005 17:15:30 +0200 Luc Van Oostenryck wrote:

| In the setupt function, the delay variable is initialized with ints[2],
| but ints is declared as:
| int ints[2];
|
| Since the module parameter should correspond to:
| tipar=timeout,delay
|
| I suppose that the following patch fix the problem.
|
|
| Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxxx>
|
| diff --git a/drivers/char/tipar.c b/drivers/char/tipar.c
| --- a/drivers/char/tipar.c
| +++ b/drivers/char/tipar.c
| @@ -407,7 +407,7 @@ tipar_setup(char *str)
| printk(KERN_WARNING "tipar: bad timeout value (0), "
| "using default value instead");
| if (ints[0] > 1) {
| - delay = ints[2];
| + delay = ints[1];
| }
| }

That (re)uses the timeout value for delay.
Please try again....

get_options() sets ints[0] to the number of parameters parsed
and tipar_setup() clearly wants to parse as you described:
| tipar=timeout,delay
so the ints[] array needs to be [3], not [2].

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/