]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[PATCH] USB: fix array overrun in drivers/usb/serial/option.c
authorEric Sesterhenn <snakebyte@gmx.de>
Sun, 23 Apr 2006 20:52:28 +0000 (22:52 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 1 May 2006 19:03:42 +0000 (12:03 -0700)
since the arrays are declared as in_urbs[N_IN_URB]
and out_urbs[N_OUT_URB] both for loops, go one
over the end of the array. This fixes coverity id #555

This patch was already included in Linus' tree.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/option.c

index 52bdf6fe46f27b59df7f69ac35fb6e6bb06c7e48..fd8a50e081d15f2ff758146785a2490f1ce85b56 100644 (file)
@@ -582,14 +582,14 @@ static void option_setup_urbs(struct usb_serial *serial)
        portdata = usb_get_serial_port_data(port);
 
        /* Do indat endpoints first */
-       for (j = 0; j <= N_IN_URB; ++j) {
+       for (j = 0; j < N_IN_URB; ++j) {
                portdata->in_urbs[j] = option_setup_urb (serial,
                   port->bulk_in_endpointAddress, USB_DIR_IN, port,
                   portdata->in_buffer[j], IN_BUFLEN, option_indat_callback);
        }
 
        /* outdat endpoints */
-       for (j = 0; j <= N_OUT_URB; ++j) {
+       for (j = 0; j < N_OUT_URB; ++j) {
                portdata->out_urbs[j] = option_setup_urb (serial,
                   port->bulk_out_endpointAddress, USB_DIR_OUT, port,
                   portdata->out_buffer[j], OUT_BUFLEN, option_outdat_callback);