staging: comedi: usbdux: allocating too much data
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 20 Aug 2013 09:06:19 +0000 (12:06 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Aug 2013 17:07:17 +0000 (10:07 -0700)
We only need to allocate enough space for a pointer.  We allocate the
space for the urbs themselves with the call to usb_alloc_urb() a few
lines later.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/usbdux.c

index 7e91f1506a39c54e8e4b4a23132dd9073532a0b3..701ad1a6939469d04df237ed71971006d7ed60ee 100644 (file)
@@ -1558,9 +1558,9 @@ static int usbdux_alloc_usb_buffers(struct comedi_device *dev)
        devpriv->dux_commands = kzalloc(SIZEOFDUXBUFFER, GFP_KERNEL);
        devpriv->in_buf = kzalloc(SIZEINBUF, GFP_KERNEL);
        devpriv->insn_buf = kzalloc(SIZEINSNBUF, GFP_KERNEL);
-       devpriv->ai_urbs = kcalloc(devpriv->n_ai_urbs, sizeof(*urb),
+       devpriv->ai_urbs = kcalloc(devpriv->n_ai_urbs, sizeof(void *),
                                   GFP_KERNEL);
-       devpriv->ao_urbs = kcalloc(devpriv->n_ao_urbs, sizeof(*urb),
+       devpriv->ao_urbs = kcalloc(devpriv->n_ao_urbs, sizeof(void *),
                                   GFP_KERNEL);
        if (!devpriv->dux_commands || !devpriv->in_buf || !devpriv->insn_buf ||
            !devpriv->ai_urbs || !devpriv->ao_urbs)