Author: imp
Date: Thu Feb 19 16:30:11 2009
New Revision: 188820
URL: http://svn.freebsd.org/changeset/base/188820

Log:
  Properly convert bit value to a bit field.  Before we were storing
  values like 0x80 or 0x40 into a uint8_t foo:1 bitfield.  This would
  result in the bit always being 0.  One of these caused a warning for
  overflow (one that was 0x80), but the other didn't.  They were both
  wrong.
  
  This is why I hate code that mixes c struct bitfields and #defines.
  The rest of the fields accessed by the program should be audited.

Modified:
  head/usr.sbin/rtadvd/rrenum.c

Modified: head/usr.sbin/rtadvd/rrenum.c
==============================================================================
--- head/usr.sbin/rtadvd/rrenum.c       Thu Feb 19 16:16:44 2009        
(r188819)
+++ head/usr.sbin/rtadvd/rrenum.c       Thu Feb 19 16:30:11 2009        
(r188820)
@@ -176,9 +176,9 @@ do_use_prefix(int len, struct rr_pco_mat
                irr->irr_u_uselen = rpu->rpu_uselen;
                irr->irr_u_keeplen = rpu->rpu_keeplen;
                irr->irr_raf_mask_onlink =
-                       (rpu->rpu_ramask & ICMP6_RR_PCOUSE_RAFLAGS_ONLINK);
+                       !!(rpu->rpu_ramask & ICMP6_RR_PCOUSE_RAFLAGS_ONLINK);
                irr->irr_raf_mask_auto =
-                       (rpu->rpu_ramask & ICMP6_RR_PCOUSE_RAFLAGS_AUTO);
+                       !!(rpu->rpu_ramask & ICMP6_RR_PCOUSE_RAFLAGS_AUTO);
                irr->irr_vltime = ntohl(rpu->rpu_vltime);
                irr->irr_pltime = ntohl(rpu->rpu_pltime);
                irr->irr_raf_onlink =
_______________________________________________
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