staging: comedi: sanity check num_subdevices parameter in comedi_alloc_subdevices
authorH Hartley Sweeten <hartleys@visionengravers.com>
Tue, 12 Jun 2012 18:57:45 +0000 (11:57 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Jun 2012 21:44:03 +0000 (14:44 -0700)
It's possible for a couple of the comedi drivers to incorrectly call
comedi_alloc_subdevices with num_subdevices = 0. Add a sanity check
before doing the kcalloc.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbot@mev.co.uk>
Cc: Frank Mori Hess <kmhess@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers.c

index 979aa0e889973c6ce1f1ff639d62196da7ab5a6d..61161ce8e93f58d764bdac5fb592be1c9d0727b3 100644 (file)
@@ -60,6 +60,8 @@ int comedi_alloc_subdevices(struct comedi_device *dev, int num_subdevices)
 {
        int i;
 
+       if (num_subdevices < 1)
+               return -EINVAL;
        dev->n_subdevices = num_subdevices;
        dev->subdevices =
            kcalloc(num_subdevices, sizeof(struct comedi_subdevice),