Author: hrs
Date: Fri Mar  2 00:15:52 2012
New Revision: 232371
URL: http://svn.freebsd.org/changeset/base/232371

Log:
  MFC r230989: Fix a possible infinite loop in "route flush" on 64-bit archs.
  
  Approved by:  re (bz)

Modified:
  stable/8/sbin/route/route.c
Directory Properties:
  stable/8/sbin/route/   (props changed)

Modified: stable/8/sbin/route/route.c
==============================================================================
--- stable/8/sbin/route/route.c Fri Mar  2 00:15:13 2012        (r232370)
+++ stable/8/sbin/route/route.c Fri Mar  2 00:15:52 2012        (r232371)
@@ -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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to