Le 03/09/2012 22:22, Otto Moerbeek a écrit :
> On Mon, Sep 03, 2012 at 05:19:44PM +0200, Otto Moerbeek wrote:
>
>> On Mon, Sep 03, 2012 at 04:37:42PM +0200, rustyBSD wrote:
>>
>>> /usr/src/sbin/disklabel/disklabel.c
>>> lines: 333 & 1092 & 1096
>>>
>>> Is this me, or these strncpy() may cause off-by-one
>>> overflows ?
>>>
>>> In an use like this:
>>>
>>>  strncpy(a, b, sizeof(a));
>> No, this is not an overflow. But a will potentieally not be NUL-terminated.
>>
>>> the null terminator will be added beyond the end of
>>> a if b has the same size (or a larger size).
>>>
>>> Should use something like:
>>>
>>>  strncpy(a, b, sizeof(a) - 1);
>> Better use strlcpy(3). The mappages for goth strncopy and strlcpy
>> explain why.
> Ugh, missed the disklabel reference. These fields are not
> NUL-terminated strings, so strncpy(3) is ok in this case.
>
>       -Otto
>
>
Argh, ok i leave

:S

Reply via email to