diff options
| author | 2012-11-17 18:06:11 +0300 | |
|---|---|---|
| committer | 2012-11-21 13:32:26 -0800 | |
| commit | 564e69893c63cefe4bcbdeda4f940bf68b6b4491 (patch) | |
| tree | d7563b2a16afe3f6d0afcfd290e6b1c6a3650d05 /drivers/usb/misc/usbtest.c | |
| parent | usb: remove use of __devexit (diff) | |
| download | linux-dev-564e69893c63cefe4bcbdeda4f940bf68b6b4491.tar.xz linux-dev-564e69893c63cefe4bcbdeda4f940bf68b6b4491.zip | |
USB: usbtest: prevent a divide by zero bug
If param->length is zero, then this could lead to a divide by zero bug
later in the function when we do: size %= max;
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/misc/usbtest.c')
| -rw-r--r-- | drivers/usb/misc/usbtest.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index f10bd970d50a..7667b12f2ff5 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c @@ -423,6 +423,9 @@ alloc_sglist(int nents, int max, int vary) unsigned i; unsigned size = max; + if (max == 0) + return NULL; + sg = kmalloc_array(nents, sizeof *sg, GFP_KERNEL); if (!sg) return NULL; |
