Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jul 2012 15:42:51 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Arnaud Lacombe <lacombar@gmail.com>
Cc:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, Luigi Rizzo <rizzo@iet.unipi.it>, current@freebsd.org
Subject:   Re: RFC: libkern version of inet_ntoa_r
Message-ID:  <CAGH67wTr4MNMza72-dk2cqKWHUJgPV4t0uujZmQEBeVMt%2Bt=6g@mail.gmail.com>
In-Reply-To: <CACqU3MVjcHBkc_PYViTX51rJX7m_eq7Bf7uNH0QFqQVnkyddYA@mail.gmail.com>
References:  <20120725155211.GA33971@onelab2.iet.unipi.it> <alpine.BSF.2.00.1207282213171.4474@ai.fobar.qr> <CACqU3MVjcHBkc_PYViTX51rJX7m_eq7Bf7uNH0QFqQVnkyddYA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jul 28, 2012 at 3:35 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
> Hi,
>
> On Sat, Jul 28, 2012 at 6:14 PM, Bjoern A. Zeeb
> <bzeeb-lists@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wTr4MNMza72-dk2cqKWHUJgPV4t0uujZmQEBeVMt%2Bt=6g>