From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH 1/1] bonding: fix error handling in rte_eth_bond_create() Date: Tue, 04 Aug 2015 17:52:51 +0200 Message-ID: <1572867.aSjIJySGWI@xps13> References: <1438701978-29248-1-git-send-email-bernard.iremonger@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Bernard Iremonger Return-path: Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com [209.85.212.173]) by dpdk.org (Postfix) with ESMTP id DA618C328 for ; Tue, 4 Aug 2015 17:54:07 +0200 (CEST) Received: by wibud3 with SMTP id ud3so183350650wib.1 for ; Tue, 04 Aug 2015 08:54:07 -0700 (PDT) In-Reply-To: <1438701978-29248-1-git-send-email-bernard.iremonger@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2015-08-04 16:26, Bernard Iremonger: > if the name parameter to rte_eth_bond_create() was NULL, > there was a segmentation fault. What is the root cause of the crash? I guess it is rte_free(eth_dev->data->mac_addrs) because eth_dev is NULL. [...] > -err: > - rte_free(pci_dev); > - rte_free(internals); > +err4: > rte_free(eth_dev->data->mac_addrs); > - > +err3: > + rte_free(internals); > +err2: > + rte_free(pci_dev); > +err1: > return -1; > } rte_free should be harmless with NULL parameter. It is easier to add "if (eth_dev != NULL)" than maintaining many error labels. By the way, why rte_eth_dev_release_port() is not called?