svn commit: r188820 - head/usr.sbin/rtadvd
Warner Losh
imp at FreeBSD.org
Thu Feb 19 08:30:13 PST 2009
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 =
More information about the svn-src-all
mailing list