diff options
author | Florin Malita <fmalita@gmail.com> | 2006-06-05 15:34:33 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-06-05 15:34:33 -0700 |
commit | 9bc18091a5e44a368827f539289b99788eb27d4e (patch) | |
tree | 2fa673fc940f0bdcc04f1d4fbb4bd602f24d947e /drivers | |
parent | 6569a351da7e58d6f0fbc92fcf0bef5d4a4bc0a4 (diff) | |
download | op-kernel-dev-9bc18091a5e44a368827f539289b99788eb27d4e.zip op-kernel-dev-9bc18091a5e44a368827f539289b99788eb27d4e.tar.gz |
[PPPOE]: Missing result check in __pppoe_xmit().
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/pppoe.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index 475dc93..0d101a1 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c @@ -861,6 +861,9 @@ static 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)); |