svn commit: r230989 - head/sbin/route

Hiroki Sato hrs at FreeBSD.org
Sat Feb 4 17:53:23 UTC 2012


Author: hrs
Date: Sat Feb  4 17:53:22 2012
New Revision: 230989
URL: http://svn.freebsd.org/changeset/base/230989

Log:
  Fix a possible infinite loop in "route flush" on 64-bit archs.
  
  MFC after:	3 days

Modified:
  head/sbin/route/route.c

Modified: head/sbin/route/route.c
==============================================================================
--- head/sbin/route/route.c	Sat Feb  4 17:43:15 2012	(r230988)
+++ head/sbin/route/route.c	Sat Feb  4 17:53:22 2012	(r230989)
@@ -460,8 +460,8 @@ netname(struct sockaddr *sa)
 			 * Guess at the subnet mask, assuming reasonable
 			 * width subnet fields.
 			 */
-			while (in.s_addr &~ mask)
-				mask = (long)mask >> subnetshift;
+			while (in.s_addr & ~mask)
+				mask |= mask >> subnetshift;
 			net = in.s_addr & mask;
 			while ((mask & 1) == 0)
 				mask >>= 1, net >>= 1;


More information about the svn-src-head mailing list