Hi Bernard,
> -----Original Message----- > From: Iremonger, Bernard <bernard.iremon...@intel.com> > Sent: Tuesday, February 4, 2020 12:46 PM > To: Ori Kam <or...@mellanox.com>; Yigit, Ferruh <ferruh.yi...@intel.com>; > Lu, Wenzhuo <wenzhuo...@intel.com>; Wu, Jingjing <jingjing...@intel.com> > Cc: dev@dpdk.org; Slava Ovsiienko <viachesl...@mellanox.com> > Subject: RE: [PATCH v3] app/testpmd: fix copying the name of the dynflag > > Hi Ori, > > <snip> > > > > Subject: Re: [PATCH v3] app/testpmd: fix copying the name of the > > > dynflag > > > > > > On 1/30/2020 9:04 PM, Ori Kam wrote: > > > > When working with testpmd and setting the dynflag name, we copy the > > > > name given by the cmd to the dynflag name. > > > > > > > > The issue is that the size of the dynflag name is smaller then the > > > > string used by testpmd. > > > > > > > > This commit solves this issue by checking that the length of the > > > > requested flag name is not too long. > > > > > > > > Coverity issue: 353610 > > > > > > > > Fixes: b57b66a97ebf ("app/testpmd: support mbuf dynamic flag") > > > > > > > > Signed-off-by: Ori Kam <or...@mellanox.com> > > > > --- > > > > V3: > > > > * Fix style issue. > > > > > > > > V2: > > > > * change to check the requested flag name. > > > > --- > > > > app/test-pmd/cmdline.c | 4 ++++ > > > > 1 file changed, 4 insertions(+) > > > > > > > > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index > > > > dab22bc..7ccc778 100644 > > > > --- a/app/test-pmd/cmdline.c > > > > +++ b/app/test-pmd/cmdline.c > > > > @@ -18865,6 +18865,10 @@ struct cmd_config_tx_dynf_specific_result { > > > > > > > > if (port_id_is_invalid(res->port_id, ENABLED_WARN)) > > > > return; > > > > + if (strlen(res->name) > sizeof(desc_flag.name)) { > > Would it be simpler to use RTE_MBUF_DYN_NAMESIZE instead of > sizeof(desc_flag.name) ? > I don't really care. I used the sizeof approach since it is more used in DPDK. But If you wish I can move to define. > > > > > > Shouldn't it be ">=" since 'strlen' doesn't count terminating char. > > > It would be safer to use 'strnlen'. > > > > > > > > > Will fix. > > > > > > + printf("Flag name too long\n"); > > > > + return; > > > > + } > > > > flag = rte_mbuf_dynflag_lookup(res->name, NULL); > > > > if (flag <= 0) { > > > > strcpy(desc_flag.name, res->name); > > > > > > And it would be nice to use 'strlcpy' here, to be sure target string > > > will be null terminated. > > > > Will fix. > > Regards, > > Bernard.