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

Commit da81817f authored by Eugene Teo's avatar Eugene Teo Committed by Greg Kroah-Hartman
Browse files

[PATCH] USB: Fix irda-usb use after use



Don't read from free'd memory after calling netif_rx().  docopy is used as
a boolean (0 and 1) so unsigned int is sufficient.

Coverity bug #928

Signed-off-by: default avatarEugene Teo <eugene.teo@eugeneteo.net>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 09abfa80
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -740,7 +740,7 @@ static void irda_usb_receive(struct urb *urb, struct pt_regs *regs)
	struct sk_buff *newskb;
	struct sk_buff *dataskb;
	struct urb *next_urb;
	int		docopy;
	unsigned int len, docopy;

	IRDA_DEBUG(2, "%s(), len=%d\n", __FUNCTION__, urb->actual_length);
	
@@ -851,10 +851,11 @@ static void irda_usb_receive(struct urb *urb, struct pt_regs *regs)
	dataskb->dev = self->netdev;
	dataskb->mac.raw  = dataskb->data;
	dataskb->protocol = htons(ETH_P_IRDA);
	len = dataskb->len;
	netif_rx(dataskb);

	/* Keep stats up to date */
	self->stats.rx_bytes += dataskb->len;
	self->stats.rx_bytes += len;
	self->stats.rx_packets++;
	self->netdev->last_rx = jiffies;