svn commit: r231325 - stable/8/sys/netinet6

Bjoern A. Zeeb bz at FreeBSD.org
Fri Feb 10 00:24:41 UTC 2012


Author: bz
Date: Fri Feb 10 00:24:41 2012
New Revision: 231325
URL: http://svn.freebsd.org/changeset/base/231325

Log:
  MFC r230506:
  
   Plug a possible ifa_ref leak in case of premature return from in6_purgeaddr().
  
   Reviewed by:	rwatson

Modified:
  stable/8/sys/netinet6/in6.c
Directory Properties:
  stable/8/sys/   (props changed)

Modified: stable/8/sys/netinet6/in6.c
==============================================================================
--- stable/8/sys/netinet6/in6.c	Fri Feb 10 00:24:39 2012	(r231324)
+++ stable/8/sys/netinet6/in6.c	Fri Feb 10 00:24:41 2012	(r231325)
@@ -1369,6 +1369,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) {
@@ -1393,8 +1395,6 @@ cleanup:
 			return;
 		ia->ia_flags &= ~IFA_ROUTE;
 	}
-	if (ifa0 != NULL)
-		ifa_free(ifa0);
 
 	in6_unlink_ifa(ia, ifp);
 }


More information about the svn-src-stable-8 mailing list