On 2 Nov 2013, at 05:53, Adrian Chadd <adr...@freebsd.org> wrote: > Hm! A good question! > > On 1 November 2013 22:22, Bruce Evans <b...@optusnet.com.au> wrote: > >>> if (harvest.point_to_point) >>> - random_harvest(&(m->m_data), 12, 2, RANDOM_NET_NG); >> >> >> '&(m->m_data)' is not just a pair of style bugs. It gives address of >> the pointer (somewhere in the mbuf header), not the address of pointed- >> to data, so the randomness was almost null. The style bugs are >> excessive parentheses and chumminess with the implementation (non-use >> of the accessor function mtod()). >> >> >>> + random_harvest(mtod(m, const void *), 12, 2, >>> RANDOM_NET_NG); >> >> >> Presumably you really do want to harvest the pointed-to data and there >> are at least 12 bytes of it, so the semantic fix isn't backwards or a >> buffer overrun. >> > > > Mark - did you initially mean the address of the mbuf m_data pointer, > or the data payload itself?
As Bruce says - the address of payload data itself. We don’t have 12-byte pointers in FreeBSD. :-) M -- Mark R V Murray
signature.asc
Description: Message signed with OpenPGP using GPGMail