On Mon,  6 Apr 2020 16:30:20 +0500
Muhammad Bilal <m.bi...@emumba.com> wrote:

> Bugzilla ID: 353
> Cc: dev@dpdk.org
> Cc: sta...@dpdk.org
> Cc: hemant.agra...@nxp.com
> Signed-off-by: Muhammad Bilal <m.bi...@emumba.com>
> ---
>  lib/librte_mbuf/rte_mbuf_pool_ops.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_mbuf/rte_mbuf_pool_ops.c 
> b/lib/librte_mbuf/rte_mbuf_pool_ops.c
> index 5722976fe..c3ddfc0bd 100644
> --- a/lib/librte_mbuf/rte_mbuf_pool_ops.c
> +++ b/lib/librte_mbuf/rte_mbuf_pool_ops.c
> @@ -13,7 +13,8 @@ int
>  rte_mbuf_set_platform_mempool_ops(const char *ops_name)
>  {
>       const struct rte_memzone *mz;
> -
> +     if (strlen(ops_name) == 0)
> +             return -1;
>       if (strlen(ops_name) >= RTE_MEMPOOL_OPS_NAMESIZE)
>               return -ENAMETOOLONG;
>  
> @@ -50,7 +51,8 @@ int
>  rte_mbuf_set_user_mempool_ops(const char *ops_name)
>  {
>       const struct rte_memzone *mz;
> -
> +     if (strlen(ops_name) == 0)
> +             return -1;
>       if (strlen(ops_name) >= RTE_MEMPOOL_OPS_NAMESIZE)
>               return -ENAMETOOLONG;
>  

If you want to do it simpler and safer use strnlen.
Also, don't mix -1 wit -errno returns.

        size_t len = strnlen(ops_name, RTE_MEMPOOL_OPS_NAMESIZE);

        if (len == 0)
                return -EINVAL;

        if (len == RTE_MEMPOOL_OPS_NAMESIZE)
                return -ENAMETOOLONG;

Reply via email to