Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e2b8072 authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller
Browse files

irda-usb: add error handling and fix leak



If the call to kcalloc() fails then we should return -ENOMEM.

Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 72150e9b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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 @@ static int irda_usb_probe(struct usb_interface *intf,
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;