From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH] ethdev: check for invalid device name Date: Wed, 13 Mar 2019 10:32:32 -0700 Message-ID: <20190313103232.35804089@shemminger-XPS-13-9360> References: <20190311181544.15646-1-stephen@networkplumber.org> <039ED4275CED7440929022BC67E706115334BE52@SHSMSX103.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "dev@dpdk.org" To: "Zhang, Qi Z" Return-path: Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by dpdk.org (Postfix) with ESMTP id 33B8B3572 for ; Wed, 13 Mar 2019 18:32:38 +0100 (CET) Received: by mail-pg1-f196.google.com with SMTP id m2so2013074pgl.5 for ; Wed, 13 Mar 2019 10:32:38 -0700 (PDT) In-Reply-To: <039ED4275CED7440929022BC67E706115334BE52@SHSMSX103.ccr.corp.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, 13 Mar 2019 12:52:50 +0000 "Zhang, Qi Z" wrote: > HI > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Stephen Hemminger > > Sent: Tuesday, March 12, 2019 2:16 AM > > To: dev@dpdk.org > > Cc: Stephen Hemminger > > 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 > > Acked-by: Andrew Rybchenko > > --- > > 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.