net/tap: allow full length names
authorStephen Hemminger <stephen@networkplumber.org>
Fri, 11 Jan 2019 20:35:15 +0000 (12:35 -0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 14 Jan 2019 16:44:29 +0000 (17:44 +0100)
The code for set_interface_name was incorrectly assuming that
space for null byte was necessary with snprintf/strlcpy.

Fixes: 02f96a0a82d1 ("net/tap: add TUN/TAP device PMD")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by Keith Wiles <keith.wiles@intel.com>

drivers/net/tap/rte_eth_tap.c

index 1c00681..11e402e 100644 (file)
@@ -1892,10 +1892,10 @@ set_interface_name(const char *key __rte_unused,
        char *name = (char *)extra_args;
 
        if (value)
-               strlcpy(name, value, RTE_ETH_NAME_MAX_LEN - 1);
+               strlcpy(name, value, RTE_ETH_NAME_MAX_LEN);
        else
-               snprintf(name, RTE_ETH_NAME_MAX_LEN - 1, "%s%d",
-                        DEFAULT_TAP_NAME, (tap_unit - 1));
+               snprintf(name, RTE_ETH_NAME_MAX_LEN, "%s%d",
+                        DEFAULT_TAP_NAME, tap_unit - 1);
 
        return 0;
 }