net: nb8800: Fix SKB leak in nb8800_receive()
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 15 Jul 2016 23:41:16 +0000 (16:41 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Jul 2016 05:06:00 +0000 (22:06 -0700)
In case nb8800_receive() fails to allocate a fragment, we would leak the
SKB freshly allocated and just return, instead, free it.

Reported-by: coverity (CID 1341750)
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/aurora/nb8800.c

index 08a23e6b60e947894783f2115c2fe16abece84bc..1a3555d03a96a823e4936c06a2e9ce64d27ae851 100644 (file)
@@ -259,6 +259,7 @@ static void nb8800_receive(struct net_device *dev, unsigned int i,
                if (err) {
                        netdev_err(dev, "rx buffer allocation failed\n");
                        dev->stats.rx_dropped++;
+                       dev_kfree_skb(skb);
                        return;
                }