From e59c01b14f52764214c109603e8dd533dacef5da Mon Sep 17 00:00:00 2001 From: bz Date: Tue, 24 Jan 2012 13:57:30 +0000 Subject: Plug a possible ifa_ref leak in case of premature return from in6_purgeaddr(). Reviewed by: rwatson MFC after: 3 days --- sys/netinet6/in6.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/netinet6/in6.c') diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index bde3db5..cf5eb35 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1477,6 +1477,8 @@ in6_purgeaddr(struct ifaddr *ifa) } cleanup: + if (ifa0 != NULL) + ifa_free(ifa0); plen = in6_mask2len(&ia->ia_prefixmask.sin6_addr, NULL); /* XXX */ if ((ia->ia_flags & IFA_ROUTE) && plen == 128) { @@ -1501,8 +1503,6 @@ cleanup: return; ia->ia_flags &= ~IFA_ROUTE; } - if (ifa0 != NULL) - ifa_free(ifa0); in6_unlink_ifa(ia, ifp); } -- cgit v1.1