On 3/1/19 1:47 AM, Stephen Hemminger wrote:
Don't need to use snprintf for simple name copy.
Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
---
lib/librte_ethdev/rte_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 95889ed206db..8bd54dcf58c1 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -459,7 +459,7 @@ rte_eth_dev_allocate(const char *name)
}
eth_dev = eth_dev_get(port_id);
- snprintf(eth_dev->data->name, sizeof(eth_dev->data->name), "%s", name);
+ strlcpy(eth_dev->data->name, name, RTE_ETH_NAME_MAX_LEN);
Why is sizeof() substituted with RTE_ETH_NAME_MAX_LEN?
I thought that sizeof() is the first choice in such cases since it is a
bit more
safer vs possible changes in the code.
BTW, wouldn't it be more friendly to check name length on entry and
reject if it is too long? (and same for rte_eth_dev_create())
I agree that strlcpy() should be used anyway.
eth_dev->data->port_id = port_id;
eth_dev->data->mtu = ETHER_MTU;