]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
can: kvaser_usb: free buf in error paths
authorJimmy Assarsson <jimmyassarsson@gmail.com>
Tue, 21 Nov 2017 07:22:26 +0000 (08:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 16 Dec 2017 09:32:25 +0000 (10:32 +0100)
commit 435019b48033138581a6171093b181fc6b4d3d30 upstream.

The allocated buffer was not freed if usb_submit_urb() failed.

Signed-off-by: Jimmy Assarsson <jimmyassarsson@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/can/usb/kvaser_usb.c

index fc8ca6c59e1eb6a7eabf7ac6f442bb3457683f15..44aa379fa4967e52d33139362cc5958b36fe9eb1 100644 (file)
@@ -602,6 +602,7 @@ static int kvaser_usb_simple_msg_async(struct kvaser_usb_net_priv *priv,
        if (err) {
                netdev_err(netdev, "Error transmitting URB\n");
                usb_unanchor_urb(urb);
+               kfree(buf);
                usb_free_urb(urb);
                kfree(buf);
                return err;
@@ -1385,6 +1386,7 @@ static netdev_tx_t kvaser_usb_start_xmit(struct sk_buff *skb,
 
                atomic_dec(&priv->active_tx_urbs);
                usb_unanchor_urb(urb);
+               kfree(buf);
 
                stats->tx_dropped++;