03/04/2019 17:56, Bruce Richardson:
> On Wed, Apr 03, 2019 at 08:51:32AM -0700, Stephen Hemminger wrote:
> > On Wed,  3 Apr 2019 15:45:04 +0100
> > Bruce Richardson <bruce.richard...@intel.com> wrote:
> > 
> > > diff --git a/lib/librte_ring/rte_ring.c b/lib/librte_ring/rte_ring.c
> > > index d215acecc..a542f6f5d 100644
> > > --- a/lib/librte_ring/rte_ring.c
> > > +++ b/lib/librte_ring/rte_ring.c
> > > @@ -78,7 +78,7 @@ rte_ring_init(struct rte_ring *r, const char *name, 
> > > unsigned count,
> > >  
> > >   /* init the ring structure */
> > >   memset(r, 0, sizeof(*r));
> > > - ret = snprintf(r->name, sizeof(r->name), "%s", name);
> > > + ret = strlcpy(r->name, name, sizeof(r->name));
> > >   if (ret < 0 || ret >= (int)sizeof(r->name))
> > 
> > I would rather use the name length that is part of the header file.
> > 
> >     if (strnlen(name, RTE_RING_NAMESIZE) == RTE_RING_NAMESIZE)
> >             return -ENAMETOOLONG;
> > 
> >     strlcpy(r->name, name, sizeof(r->name))
> >
> Yes, though honestly it's a matter of preference. Since this was a scripted
> replacement each change wasn't checked in too much detail other than a
> cursory check for correctness.

I prefer using sizeof/strlen rather than the constant used for allocation.
Reasons are:
        - it's easier to understand the intent
        - it's easier to change how the allocation size is chosen




Reply via email to