irda-usb: add error handling and fix leak
Subsystems (3)
PATCH 1/1 irda-usb: add error handling and fix leak
If the call to kcalloc() fails then we should return -ENOMEM.
Signed-off-by Dan Carpenter <[email protected]>
drivers/net/irda/irda-usb.c +4 -0
@@ -1651,6 +1651,8 @@ static int irda_usb_probe(struct usb_interface *intf, self->rx_urb =kcalloc (self->max_rx_urb,sizeof (struct urb *),GFP_KERNEL ); +if (!self->rx_urb) + goto err_free_net;for (i =0 ; i < self->max_rx_urb; i++) { self->rx_urb[i] =usb_alloc_urb (0 ,GFP_KERNEL );
@@ -1783,6 +1785,8 @@ err_out_2: err_out_1:for (i =0 ; i < self->max_rx_urb; i++)usb_free_urb (self->rx_urb[i]); +kfree (self->rx_urb); +err_free_net:free_netdev (net); err_out:return ret;
From: Dan Carpenter <[email protected]>
Date: Sun, 7 Mar 2010 15:35:42 +0300
Quoted 3 lines
If the call to
kcalloc()fails then we should return-ENOMEM.Signed-off-by Dan Carpenter <[email protected]>
Applied, thanks.