On Wed, 13 Mar 2019 12:52:50 +0000 "Zhang, Qi Z" <qi.z.zh...@intel.com> wrote:
> HI > > > -----Original Message----- > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Stephen Hemminger > > Sent: Tuesday, March 12, 2019 2:16 AM > > To: dev@dpdk.org > > Cc: Stephen Hemminger <step...@networkplumber.org> > > Subject: [dpdk-dev] [PATCH] ethdev: check for invalid device name > > > > Do not allow creating a ethernet device with a name over the allowed maximum > > (or zero length). This is safer than silently truncating which is what > > happens now. > > > > Signed-off-by: Stephen Hemminger <step...@networkplumber.org> > > Acked-by: Andrew Rybchenko <arybche...@solarflare.com> > > --- > > v1 - previously sent as RFC > > > > lib/librte_ethdev/rte_ethdev.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c > > index 85c1794968dd..0b81980ff71c 100644 > > --- a/lib/librte_ethdev/rte_ethdev.c > > +++ b/lib/librte_ethdev/rte_ethdev.c > > @@ -439,6 +439,16 @@ rte_eth_dev_allocate(const char *name) > > uint16_t port_id; > > struct rte_eth_dev *eth_dev = NULL; > > > > + if (*name) { > > Is above check same as "strlen(name) == 0"? Yes, but checking for first null byte is slightly quicker. Alternative would be to call strnlen() once.