mbuf: prevent setting mempool ops name empty
authorMuhammad Bilal <m.bilal@emumba.com>
Tue, 7 Apr 2020 07:56:13 +0000 (12:56 +0500)
committerThomas Monjalon <thomas@monjalon.net>
Sat, 25 Apr 2020 20:56:10 +0000 (22:56 +0200)
Bugzilla ID: 353

Signed-off-by: Muhammad Bilal <m.bilal@emumba.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
lib/librte_mbuf/rte_mbuf_pool_ops.c

index 5722976..f0e87a1 100644 (file)
@@ -14,7 +14,10 @@ rte_mbuf_set_platform_mempool_ops(const char *ops_name)
 {
        const struct rte_memzone *mz;
 
-       if (strlen(ops_name) >= RTE_MEMPOOL_OPS_NAMESIZE)
+       size_t len = strnlen(ops_name, RTE_MEMPOOL_OPS_NAMESIZE);
+       if (len == 0)
+               return -EINVAL;
+       if (len == RTE_MEMPOOL_OPS_NAMESIZE)
                return -ENAMETOOLONG;
 
        mz = rte_memzone_lookup("mbuf_platform_pool_ops");
@@ -51,7 +54,10 @@ rte_mbuf_set_user_mempool_ops(const char *ops_name)
 {
        const struct rte_memzone *mz;
 
-       if (strlen(ops_name) >= RTE_MEMPOOL_OPS_NAMESIZE)
+       size_t len = strnlen(ops_name, RTE_MEMPOOL_OPS_NAMESIZE);
+       if (len == 0)
+               return -EINVAL;
+       if (len == RTE_MEMPOOL_OPS_NAMESIZE)
                return -ENAMETOOLONG;
 
        mz = rte_memzone_lookup("mbuf_user_pool_ops");