[XFRM]: Fix leak in ah6_input
authorPatrick McHardy <kaber@trash.net>
Mon, 13 Mar 2006 04:33:49 +0000 (20:33 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 13 Mar 2006 04:39:37 +0000 (20:39 -0800)
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>
net/ipv6/ah6.c

index c7932cb420a5c91987fa4034abacee84c1ffb76b..84963749ab77abdba516b879470b829e96f3bd7a 100644 (file)
@@ -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;