]> git.droids-corp.org - dpdk.git/blobdiff - lib/librte_ethdev/rte_ethdev.c
ethdev: check for invalid device name
[dpdk.git] / lib / librte_ethdev / rte_ethdev.c
index 3f2253643e55512350239db519ace16b636f810e..12b66b68c65d62d4ef92968d74ce599b8b9fe4ed 100644 (file)
@@ -438,6 +438,18 @@ rte_eth_dev_allocate(const char *name)
 {
        uint16_t port_id;
        struct rte_eth_dev *eth_dev = NULL;
+       size_t name_len;
+
+       name_len = strnlen(name, RTE_ETH_NAME_MAX_LEN);
+       if (name_len == 0) {
+               RTE_ETHDEV_LOG(ERR, "Zero length Ethernet device name\n");
+               return NULL;
+       }
+
+       if (name_len >= RTE_ETH_NAME_MAX_LEN) {
+               RTE_ETHDEV_LOG(ERR, "Ethernet device name is too long\n");
+               return NULL;
+       }
 
        rte_eth_dev_shared_data_prepare();