From nobody Mon Feb 9 01:22:00 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1628075030; cv=none; d=zohomail.com; s=zohoarc; b=A6s8SQdgsDk5IB48Piwo8rfW5qpNPcalDqHpYGnc5+jNrwSmCqF3GtjaRhnx4w4cpWLQV/qkZPh75UzifofJ9xafk5Vny/DcNnvGgIbg9N7a23VjzFdgKC1aKjnbBXNBoN7IhRT2bGmTE/JiQ9fvMvnMSzaDWYAADV60hlUAgac= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628075030; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=j1TvzTgR0UQ1XMPrM3nAkP7HuNxIMytY0Je9VllxjgY=; b=KtCmbhxY6XmZLZcan5kiHxWqeZR8S85mdDssnL18qRHDekFuiRPwH0LvHqNo8eF7qiq8obRJ+Gk+MTiDSmb7EiROcrEbEI/3tIILgNMZCeHhWZuJO1spc/sYyvbdF5hUOuYhRslUJIegEbfXY4rXuLvKgY13EvbjEEqBMr969j8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1628075030750913.2906659633519; Wed, 4 Aug 2021 04:03:50 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-107-XIUs5_2HPIe4jK2C95n_cA-1; Wed, 04 Aug 2021 07:03:48 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 22B5434820; Wed, 4 Aug 2021 11:03:40 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id ED9EE1002D71; Wed, 4 Aug 2021 11:03:39 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id BDC5D4A70E; Wed, 4 Aug 2021 11:03:39 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 174B3BjK014315 for ; Wed, 4 Aug 2021 07:03:11 -0400 Received: by smtp.corp.redhat.com (Postfix) id A651517B73; Wed, 4 Aug 2021 11:03:11 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id 09A1A5D9DC for ; Wed, 4 Aug 2021 11:03:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1628075029; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=j1TvzTgR0UQ1XMPrM3nAkP7HuNxIMytY0Je9VllxjgY=; b=FWKM3WhouYRKEi6V4AAvtZibArAoMpGwWnG98+S+rHvGPcVgJd9KUU61P0d9f9m7OXnsCw K1zpJkI+J4D7NrtZCbcFrTJhd9Ic0egb1IIrXJcaPQziPSze1FkeqcFQqi60k/cMdn+kPJ XOosHzTaj3mtwWOJ5LXpxCGaDYBYBT0= X-MC-Unique: XIUs5_2HPIe4jK2C95n_cA-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 17/23] virNWFilterIncludeDefToRuleInst: Refactor cleanup Date: Wed, 4 Aug 2021 13:02:37 +0200 Message-Id: <8a3214fbd647a3e6708f9738b0270bc55a25d4ff.1628074874.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1628075031295100004 Content-Type: text/plain; charset="utf-8" Use automatic memory freeing for 'tmpvars' and move the allocation of tmpvars earlier so that we are guaranteed that 'obj' will always be appended to 'inst->filters' and thus don't need cleanup for it. By moving the reset of 'inst' to the block when virNWFilterDefToInst fails we can get rid of the rest of the cleanup section and remove the 'ret' variable. Signed-off-by: Peter Krempa --- src/nwfilter/nwfilter_gentech_driver.c | 32 +++++++++++--------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter= _gentech_driver.c index c9ffa30839..ecba16d55c 100644 --- a/src/nwfilter/nwfilter_gentech_driver.c +++ b/src/nwfilter/nwfilter_gentech_driver.c @@ -281,20 +281,20 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStat= e *driver, virNWFilterInst *inst) { virNWFilterObj *obj; - GHashTable *tmpvars =3D NULL; + g_autoptr(GHashTable) tmpvars =3D NULL; virNWFilterDef *childdef; virNWFilterDef *newChilddef; - int ret =3D -1; VIR_DEBUG("Instantiating filter %s", inc->filterref); - if (!(obj =3D virNWFilterObjListFindInstantiateFilter(driver->nwfilter= s, - inc->filterref))) - goto cleanup; /* create a temporary hashmap for depth-first tree traversal */ - if (!(tmpvars =3D virNWFilterCreateVarsFrom(inc->params, - vars))) - goto cleanup; + if (!(tmpvars =3D virNWFilterCreateVarsFrom(inc->params, vars))) + return -1; + + /* 'obj' is always appended to 'inst->filters' thus we don't unlock it= */ + if (!(obj =3D virNWFilterObjListFindInstantiateFilter(driver->nwfilter= s, + inc->filterref))) + return -1; childdef =3D virNWFilterObjGetDef(obj); @@ -311,24 +311,18 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStat= e *driver, } VIR_APPEND_ELEMENT(inst->filters, inst->nfilters, obj); - obj =3D NULL; if (virNWFilterDefToInst(driver, childdef, tmpvars, useNewFilter, foundNewFilter, - inst) < 0) - goto cleanup; - - ret =3D 0; - cleanup: - if (ret < 0) + inst) < 0) { virNWFilterInstReset(inst); - virHashFree(tmpvars); - if (obj) - virNWFilterObjUnlock(obj); - return ret; + return -1; + } + + return 0; } --=20 2.31.1