Hm! A good question!

On 1 November 2013 22:22, Bruce Evans <[email protected]> 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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to