On 15 December 2014 at 22:53, Victor Kamensky
<victor.kamen...@linaro.org> wrote:
> On 15 December 2014 at 13:42, Ola Liljedahl <ola.liljed...@linaro.org> wrote:
>> On 15 December 2014 at 22:35, Mike Holmes <mike.hol...@linaro.org> wrote:
>>> Termination of the string is not assured unless the string is
>>> one char shorter than the buffer.
>>>
>>> Fixes coverity 83058
>>>
>>> Signed-off-by: Mike Holmes <mike.hol...@linaro.org>
>>> ---
>>>  platform/linux-generic/odp_packet_io.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/platform/linux-generic/odp_packet_io.c 
>>> b/platform/linux-generic/odp_packet_io.c
>>> index a03eeb1..7694236 100644
>>> --- a/platform/linux-generic/odp_packet_io.c
>>> +++ b/platform/linux-generic/odp_packet_io.c
>>> @@ -247,7 +247,7 @@ odp_pktio_t odp_pktio_open(const char *dev, 
>>> odp_buffer_pool_t pool)
>>>         return ODP_PKTIO_INVALID;
>>>
>>>  done:
>>> -       strncpy(pktio_entry->s.name, dev, IFNAMSIZ);pktio_entry->s.name
>>> +       strncpy(pktio_entry->s.name, dev, IFNAMSIZ - 1);
>> strncpy() does not necessarily null-terminated the copied string (only
>> if there is a null-char within the copied range of characters). So
>> where is pktio_entry->s.name[IFNAMSIZ -1] cleared?
>>
>> We should be using something like strlcpy() instead.
>
> It should be consistent across the whole project. In other
> places were strncpy is used, it is followed by code that
> adds 0 to last byte of target string. In this patch the following
> line should be added after strncpy.
>
>    pktio_entry->s.name[IFNAMSIZ - 1] = 0;
>
> Also note strlcpy is BSD function. I don't see such
> in Linux.
We could write our own.

Continuing using strncpy will just enable this type of bug to reappear.

>
> Thanks,
> Victor
>
>>>         unlock_entry_classifier(pktio_entry);
>>>         return id;
>>>  }
>>> --
>>> 2.1.0
>>>
>>>
>>> _______________________________________________
>>> lng-odp mailing list
>>> lng-odp@lists.linaro.org
>>> http://lists.linaro.org/mailman/listinfo/lng-odp
>>
>> _______________________________________________
>> lng-odp mailing list
>> lng-odp@lists.linaro.org
>> http://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to