aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/raw.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2005-09-08 18:11:55 -0400
committerDavid S. Miller <davem@davemloft.net>2005-09-08 18:11:55 -0400
commite104411b82f5c4d19752c335492036abdbf5880d (patch)
tree03f26f98685689ab6bfa47d5bdbb6730f64bfadb /net/ipv6/raw.c
parentcf0b450cd5176b68ac7d5bbe68aeae6bb6a5a4b8 (diff)
[XFRM]: Always release dst_entry on error in xfrm_lookup
Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/raw.c')
-rw-r--r--net/ipv6/raw.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 2ad37893334a..5aa3691c578d 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -782,10 +782,8 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk,
782 if (final_p) 782 if (final_p)
783 ipv6_addr_copy(&fl.fl6_dst, final_p); 783 ipv6_addr_copy(&fl.fl6_dst, final_p);
784 784
785 if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) { 785 if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0)
786 dst_release(dst);
787 goto out; 786 goto out;
788 }
789 787
790 if (hlimit < 0) { 788 if (hlimit < 0) {
791 if (ipv6_addr_is_multicast(&fl.fl6_dst)) 789 if (ipv6_addr_is_multicast(&fl.fl6_dst))