From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id D5D246A87 for ; Fri, 9 Sep 2016 11:42:02 +0200 (CEST) Received: from [37.164.104.53] (helo=[192.168.42.87]) by mail.droids-corp.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1biIMm-00076U-Gq; Fri, 09 Sep 2016 11:45:00 +0200 To: dev@dpdk.org, pablo.de.lara.guarch@intel.com References: <1473408985-13131-1-git-send-email-olivier.matz@6wind.com> <1473414022-10819-1-git-send-email-olivier.matz@6wind.com> From: Olivier Matz Message-ID: <98b9684b-3614-85b7-7924-eba4022fec06@6wind.com> Date: Fri, 9 Sep 2016 11:41:55 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.2.0 MIME-Version: 1.0 In-Reply-To: <1473414022-10819-1-git-send-email-olivier.matz@6wind.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2] testpmd: fix crash when mempool allocation fails X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Sep 2016 09:42:03 -0000 Sorry, I just resent the same one... On 09/09/2016 11:40 AM, Olivier Matz wrote: > Avoid access to mempool pointer if it is NULL. > > Fixes: b19a0c75a0d4 ("app/testpmd: remove anonymous mempool code") > Coverity issue: 127553 > > Signed-off-by: Olivier Matz > --- > app/test-pmd/testpmd.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c > index 1428974..e0f8285 100644 > --- a/app/test-pmd/testpmd.c > +++ b/app/test-pmd/testpmd.c > @@ -444,10 +444,13 @@ mbuf_pool_create(uint16_t mbuf_seg_size, unsigned nb_mbuf, > mb_size, (unsigned) mb_mempool_cache, > sizeof(struct rte_pktmbuf_pool_private), > socket_id, 0); > + if (rte_mp == NULL) > + goto err; > > if (rte_mempool_populate_anon(rte_mp) == 0) { > rte_mempool_free(rte_mp); > rte_mp = NULL; > + goto err; > } > rte_pktmbuf_pool_init(rte_mp, NULL); > rte_mempool_obj_iter(rte_mp, rte_pktmbuf_init, NULL); > @@ -458,6 +461,7 @@ mbuf_pool_create(uint16_t mbuf_seg_size, unsigned nb_mbuf, > } > } > > + err: > if (rte_mp == NULL) { > rte_exit(EXIT_FAILURE, > "Creation of mbuf pool for socket %u failed: %s\n", >