On Tue, Feb 11, 2025 at 09:48:32AM -0800, Stephen Hemminger wrote:
> 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.

And using strlcpy is probably fine too, without having to use dpdk-specific
string functions.

/Bruce

Reply via email to