summaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.4/patches/900-CVE-2008-2136.patch
blob: 8e8be488df788f5dc1a45b4f50fc94817aefa4da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Backport of:

From: David S. Miller <davem@davemloft.net>
Date: Fri, 9 May 2008 06:40:26 +0000 (-0700)
Subject: sit: Add missing kfree_skb() on pskb_may_pull() failure.
X-Git-Tag: v2.6.26-rc2~19^2
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=36ca34cc3b8335eb1fe8bd9a1d0a2592980c3f02

sit: Add missing kfree_skb() on pskb_may_pull() failure.

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

Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -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;
 }