aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2007-05-15 17:40:37 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-05-23 02:45:50 -0400
commit57a21c1b929450b1e020c0a03cca6fa7448f4222 (patch)
tree78f5f237293338f00d288a40dea3a7ed78591845 /drivers/usb/core
parentb89ee19ae6c0b5a0d9facca780b53959fbadd123 (diff)
USB: don't try to kzalloc 0 bytes
This patch (as907) prevents us from trying to allocate 0 bytes when an interface has no endpoint descriptors. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core')
-rw-r--r--drivers/usb/core/config.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c
index bfb3731d42db..2d4fd530e5e4 100644
--- a/drivers/usb/core/config.c
+++ b/drivers/usb/core/config.c
@@ -185,10 +185,12 @@ static int usb_parse_interface(struct device *ddev, int cfgno,
185 num_ep = USB_MAXENDPOINTS; 185 num_ep = USB_MAXENDPOINTS;
186 } 186 }
187 187
188 len = sizeof(struct usb_host_endpoint) * num_ep; 188 if (num_ep > 0) { /* Can't allocate 0 bytes */
189 alt->endpoint = kzalloc(len, GFP_KERNEL); 189 len = sizeof(struct usb_host_endpoint) * num_ep;
190 if (!alt->endpoint) 190 alt->endpoint = kzalloc(len, GFP_KERNEL);
191 return -ENOMEM; 191 if (!alt->endpoint)
192 return -ENOMEM;
193 }
192 194
193 /* Parse all the endpoint descriptors */ 195 /* Parse all the endpoint descriptors */
194 n = 0; 196 n = 0;