On Thu, 6 Feb 2025 02:08:36 +0200
Shani Peretz <shper...@nvidia.com> wrote:

>  static int
> -cdx_parse(const char *name, void *addr)
> +cdx_parse(const char *name, void *addr, int *size)
>  {
> -     const char **out = addr;
>       int ret;
>  
>       ret = strncmp(name, CDX_DEV_PREFIX, strlen(CDX_DEV_PREFIX));
>  
> -     if (ret == 0 && addr)
> -             *out = name;
> +     if (ret != 0)
> +             return ret;
> +
> +     if (size != NULL)
> +             *size = strlen(name) + 1;
> +
> +     if (addr != NULL)
> +             rte_strscpy(addr, name, strlen(name) + 1);

Why use rte_strscpy() here?

The intention of strscpy() is to handle case where the resulting
buffer is limited in size. By using the input string length you aren't really
doing anything different than strcpy(). Still unsafe if output (addr) is not 
big enough.

Reply via email to