OSDN Git Service

sit: Add missing kfree_skb() on pskb_may_pull() failure (CVE-2008-2136)
authorDavid S. Miller <davem@davemloft.net>
Fri, 9 May 2008 06:40:26 +0000 (23:40 -0700)
committerWilly Tarreau <w@1wt.eu>
Sun, 1 Jun 2008 18:23:57 +0000 (20:23 +0200)
[backport of 2.6 commit 36ca34cc3b8335eb1fe8bd9a1d0a2592980c3f02]

Noticed by Paul Marks <paul@pmarks.net>.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
net/ipv6/sit.c

index 0808d45..204cbb4 100644 (file)
@@ -410,9 +410,9 @@ int ipip6_rcv(struct sk_buff *skb)
        }
 
        icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, 0);
-       kfree_skb(skb);
        read_unlock(&ipip6_lock);
 out:
+       kfree_skb(skb);
        return 0;
 }