OSDN Git Service

[PPPOE]: Missing result check in __pppoe_xmit().
authorFlorin Malita <fmalita@gmail.com>
Mon, 5 Jun 2006 22:34:33 +0000 (15:34 -0700)
committerWilly Tarreau <w@1wt.eu>
Sat, 6 Sep 2008 11:35:24 +0000 (13:35 +0200)
[backport of 2.6 commit 9bc18091a5e44a368827f539289b99788eb27d4e]

skb_clone() may fail, we should check the result.

Coverity CID: 1215.

Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/net/pppoe.c

index 85bbc78..5af4d65 100644 (file)
@@ -907,6 +907,9 @@ int __pppoe_xmit(struct sock *sk, struct sk_buff *skb)
                 * give dev_queue_xmit something it can free.
                 */
                skb2 = skb_clone(skb, GFP_ATOMIC);
+
+               if (skb2 == NULL)
+                       goto abort;
        }
 
        ph = (struct pppoe_hdr *) skb_push(skb2, sizeof(struct pppoe_hdr));