svn commit: r257535 - head/sys/netgraph
Adrian Chadd
adrian at freebsd.org
Sat Nov 2 05:53:28 UTC 2013
Hm! A good question!
On 1 November 2013 22:22, Bruce Evans <brde at 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?
-adrian
More information about the svn-src-head
mailing list