summaryrefslogtreecommitdiffstats
path: root/net/ipv6/ah6.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2006-03-12 20:33:49 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-12 20:39:37 -0800
commitf8dc01f543f28253abeef649987249210d8db3cc (patch)
treefc7d4a013cb2e2cc2e12354c29c23e695de69862 /net/ipv6/ah6.c
parentf6e57464df7ba0e91a23b0854adb56852dcd58a7 (diff)
downloadlinux-f8dc01f543f28253abeef649987249210d8db3cc.tar.bz2
[XFRM]: Fix leak in ah6_input
tmp_hdr is not freed when ipv6_clear_mutable_options fails. Coverity #650 Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ah6.c')
-rw-r--r--net/ipv6/ah6.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c
index c7932cb420a5..84963749ab77 100644
--- a/net/ipv6/ah6.c
+++ b/net/ipv6/ah6.c
@@ -279,7 +279,7 @@ static int ah6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struc
goto out;
memcpy(tmp_hdr, skb->nh.raw, hdr_len);
if (ipv6_clear_mutable_options(skb->nh.ipv6h, hdr_len))
- goto out;
+ goto free_out;
skb->nh.ipv6h->priority = 0;
skb->nh.ipv6h->flow_lbl[0] = 0;
skb->nh.ipv6h->flow_lbl[1] = 0;