Re: RFC: libkern version of inet_ntoa_r

From: Garrett Cooper <yanegomi_at_gmail.com>
Date: Sat, 28 Jul 2012 15:42:51 -0700
On Sat, Jul 28, 2012 at 3:35 PM, Arnaud Lacombe <lacombar_at_gmail.com> wrote:
> Hi,
>
> On Sat, Jul 28, 2012 at 6:14 PM, Bjoern A. Zeeb
> <bzeeb-lists_at_lists.zabbadoz.net> wrote:
>> On Wed, 25 Jul 2012, Luigi Rizzo wrote:
>>
>>> During some ipfw/dummynet cleanup i noticed that the libkern version of
>>> inet_ntoa_r() is missing the buffer size argument that is present in
>>> the libc counterpart.
>>>
>>> Any objection if i fix it ?
>>
>>
>> And why exactly would you need it?  What does libc do with it?  Render
>> partial IPv4 addresses?
>>
> Mitigate possibilities of memory corruption ? At the very least, allow
> the following:
>
> {
>     char tmp[sizeof "255.255.255.255"];
>
>     KASSERT(size >= (sizeof tmp));
>     [...]
> }
>
> to be enforced... but hey, who gives a damn about consistently doing
> things and enforcing code assumptions ? ;-)

    I think that a subtlety in Bjoern's reply was missed. Note that
inet_ntoa is guaranteed to only work with IPv4, not IPv4+IPv6, like
inet_ntop.
Thanks,
-Garrett
Received on Sat Jul 28 2012 - 20:42:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:29 UTC