Преглед изворни кода

[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>
Florin Malita пре 19 година
родитељ
комит
9bc18091a5
1 измењених фајлова са 3 додато и 0 уклоњено
  1. 3 0
      drivers/net/pppoe.c

+ 3 - 0
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.
 		 * give dev_queue_xmit something it can free.
 		 */
 		 */
 		skb2 = skb_clone(skb, GFP_ATOMIC);
 		skb2 = skb_clone(skb, GFP_ATOMIC);
+
+		if (skb2 == NULL)
+			goto abort;
 	}
 	}
 
 
 	ph = (struct pppoe_hdr *) skb_push(skb2, sizeof(struct pppoe_hdr));
 	ph = (struct pppoe_hdr *) skb_push(skb2, sizeof(struct pppoe_hdr));