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