OSDN Git Service

staging: comedi: usbduxsigma: fix kcalloc 'size' argument
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Mon, 25 Aug 2014 22:23:46 +0000 (15:23 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 30 Aug 2014 20:20:50 +0000 (13:20 -0700)
This code wants to allocate two arrays of struct urb pointers not two
arrays of struct urb objects. The size argument for both kcalloc calls
should be sizeof(urb) not sizeof(*urb).

Reported by: coverity
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/usbduxsigma.c

index da33b8c..a418be0 100644 (file)
@@ -1437,10 +1437,8 @@ static int usbduxsigma_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),
-                                  GFP_KERNEL);
-       devpriv->ao_urbs = kcalloc(devpriv->n_ao_urbs, sizeof(*urb),
-                                  GFP_KERNEL);
+       devpriv->ai_urbs = kcalloc(devpriv->n_ai_urbs, sizeof(urb), GFP_KERNEL);
+       devpriv->ao_urbs = kcalloc(devpriv->n_ao_urbs, sizeof(urb), GFP_KERNEL);
        if (!devpriv->dux_commands || !devpriv->in_buf || !devpriv->insn_buf ||
            !devpriv->ai_urbs || !devpriv->ao_urbs)
                return -ENOMEM;