[dpdk-dev] [PATCH] test/eventdev: fix sprintf with snprintf
Parthasarathy, JananeeX M
jananeex.m.parthasarathy at intel.com
Tue Mar 12 08:41:17 CET 2019
Hi
>-----Original Message-----
>From: Parthasarathy, JananeeX M
>Sent: Tuesday, February 19, 2019 6:33 PM
>To: Aaron Conole <aconole at redhat.com>; Poornima, PallantlaX
><pallantlax.poornima at intel.com>
>Cc: dev at dpdk.org; Pattan, Reshma <reshma.pattan at intel.com>; Rao, Nikhil
><nikhil.rao at intel.com>; stable at dpdk.org
>Subject: RE: [dpdk-dev] [PATCH] test/eventdev: fix sprintf with snprintf
>
>
>
>>-----Original Message-----
>>From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Aaron Conole
>>Sent: Saturday, February 09, 2019 2:50 AM
>>To: Poornima, PallantlaX <pallantlax.poornima at intel.com>
>>Cc: dev at dpdk.org; Pattan, Reshma <reshma.pattan at intel.com>; Rao, Nikhil
>><nikhil.rao at intel.com>; stable at dpdk.org
>>Subject: Re: [dpdk-dev] [PATCH] test/eventdev: fix sprintf with
>>snprintf
>>
>>Pallantla Poornima <pallantlax.poornima at intel.com> writes:
>>
>>> sprintf function is not secure as it doesn't check the length of string.
>>> More secure function snprintf is used.
>>>
>>> Fixes: 2a9c83ae3b ("test/eventdev: add multi-ports test")
>>> Cc: stable at dpdk.org
>>>
>>> Signed-off-by: Pallantla Poornima <pallantlax.poornima at intel.com>
>>> ---
>>> test/test/test_event_eth_rx_adapter.c | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/test/test/test_event_eth_rx_adapter.c
>>> b/test/test/test_event_eth_rx_adapter.c
>>> index 1d3be82b5..38f5c039f 100644
>>> --- a/test/test/test_event_eth_rx_adapter.c
>>> +++ b/test/test/test_event_eth_rx_adapter.c
>>> @@ -479,7 +479,8 @@ adapter_multi_eth_add_del(void)
>>> /* add the max port for rx_adapter */
>>> port_index = rte_eth_dev_count_total();
>>> for (; port_index < RTE_MAX_ETHPORTS; port_index += 1) {
>>> - sprintf(driver_name, "%s%u", "net_null", drv_id);
>>> + snprintf(driver_name, sizeof(driver_name), "%s%u", "net_null",
>>> + drv_id);
>>> err = rte_vdev_init(driver_name, NULL);
>>> TEST_ASSERT(err == 0, "Failed driver %s got %d",
>>> driver_name, err);
>>
>>You call this a fix, but it's not possible for the value of drv_id to
>>exceed '32' and the buffer size is plenty accommodating for that. Did
>>I miss something? What is this fixing?
>
>It is better practice to use snprintf although in this case buffer will not overflow
>as size is big enough to accommodate. The changes were done mainly to
>replace sprintf to snprintf. Probably we can remove "fix" line as it is not issue in
>this scenario.
>
>Thanks
>M.P.Jananee
Please suggest if we can remove "fix" line.
Thanks
More information about the dev
mailing list