From nobody Sat May 18 04:29:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.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 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=quarantine dis=quarantine) header.from=huawei.com ARC-Seal: i=1; a=rsa-sha256; t=1672999525; cv=none; d=zohomail.com; s=zohoarc; b=K4cBA+GaAJe39X1Xr1TyImoBtLb8hEY54hlwcrsZA9WKZQ4hzDjOdmeK+xCJ1qIm5ZNZkMDjSyWaHNe10szLi64ZGMB4K1ILa0kLTkXuLcW4/gFgyscdu68LZxaermXrZL9AJY+qzgI5zf4wiNzKvLQNlbri+8SzkG+DLmRH+yY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672999525; h=Content-Type:Content-Transfer-Encoding:Cc: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=44ErjFSpxa+IC4Qx8+ZYac1AB2v9Jqi8vuSe6GA+z3k=; b=DHK5921O4DcsWH5XgeD2id1nL7LytNQHlZjIfGT06tqDKU/vi94fi+afu5FA4Xak30WdjTmS9XGeF0HJSzVPrXU6sV8SWY7DGhQdK5SffXWkGkGh4mn9rDmDi+oGvvZsmgcfGiiNrhM+pv0ZuLSVnfaRi380zv40b92FSApP3Zs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=quarantine dis=quarantine) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1672999525208621.8576182820913; Fri, 6 Jan 2023 02:05:25 -0800 (PST) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-628-QNosKJ4RNAGjRzEboojjCQ-1; Fri, 06 Jan 2023 05:05:17 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 192D63C0E458; Fri, 6 Jan 2023 10:05:15 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 916722026D68; Fri, 6 Jan 2023 10:05:14 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 6C1CC19465B8; Fri, 6 Jan 2023 10:05:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id DA79A1946586 for ; Fri, 6 Jan 2023 10:05:12 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id AF9A2492B07; Fri, 6 Jan 2023 10:05:12 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast07.extmail.prod.ext.rdu2.redhat.com [10.11.55.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A7AEB492B06 for ; Fri, 6 Jan 2023 10:05:12 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7B7C93C0E453 for ; Fri, 6 Jan 2023 10:05:12 +0000 (UTC) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-338-RT2BKzz8NpOoD-iUSXWMlg-1; Fri, 06 Jan 2023 05:05:10 -0500 Received: from dggpeml500022.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4NpJnk1CpyznV1T for ; Fri, 6 Jan 2023 18:03:38 +0800 (CST) Received: from localhost.localdomain (10.175.124.27) by dggpeml500022.china.huawei.com (7.185.36.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 6 Jan 2023 18:05:06 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672999524; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=44ErjFSpxa+IC4Qx8+ZYac1AB2v9Jqi8vuSe6GA+z3k=; b=HuERQ9qZAIBB6YUPvCT8dJzzGJ71C+t+x498EiqhxDDMrLzsmClABfXRMF7woR3dzc/B/Z hoGKaiiEhUGF+sYHlpEtNoJ0ZIElloxx9bnAnsPtLbQr+F8wew6Ea8dz/tMNc0Ddq2XgQ4 xKz7kgmTf7ZYEchl+bzV+Kvpf/4GQ24= X-MC-Unique: QNosKJ4RNAGjRzEboojjCQ-1 X-Original-To: libvir-list@listman.corp.redhat.com X-MC-Unique: RT2BKzz8NpOoD-iUSXWMlg-1 From: Jiang Jiacheng To: Subject: [PATCH 1/2] conf: define g_autoptr for virNWFilterDef and virNWFilterRuleDef Date: Fri, 6 Jan 2023 17:58:52 +0800 Message-ID: <20230106095853.1464132-2-jiangjiacheng@huawei.com> In-Reply-To: <20230106095853.1464132-1-jiangjiacheng@huawei.com> References: <20230106095853.1464132-1-jiangjiacheng@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.124.27] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpeml500022.china.huawei.com (7.185.36.66) X-CFilter-Loop: Reflected X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: yubihong@huawei.com, zhengchuan@huawei.com, linyilu@huawei.com, jiangjiacheng@huawei.com, xiexiangyou@huawei.com Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 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: 1672999525994100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiang Jiacheng --- src/conf/nwfilter_conf.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/conf/nwfilter_conf.h b/src/conf/nwfilter_conf.h index 1a38e4198c..7c09b3bcb9 100644 --- a/src/conf/nwfilter_conf.h +++ b/src/conf/nwfilter_conf.h @@ -522,9 +522,11 @@ struct _virNWFilterDef { =20 void virNWFilterRuleDefFree(virNWFilterRuleDef *def); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNWFilterRuleDef, virNWFilterRuleDefFree); =20 void virNWFilterDefFree(virNWFilterDef *def); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNWFilterDef, virNWFilterDefFree); =20 int virNWFilterTriggerRebuild(void); --=20 2.33.0 From nobody Sat May 18 04:29:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.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 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=quarantine dis=quarantine) header.from=huawei.com ARC-Seal: i=1; a=rsa-sha256; t=1672999522; cv=none; d=zohomail.com; s=zohoarc; b=ij/8mYFPGyeluBu7rApQZ5N2ThFFUqm+BSG6+d9ggn0m+G4rGXb5dtMjeCSOReTd6KnkZsXQgWtk2tsZ5G4hYaNFLGlhqKKgZutpcgIpoUW5EFOTL3ZAFOtQljLKef2XJvutMAXbIVk9sY1jSeHwb9Zd/qR0wKThHchxjkcq/nw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672999522; h=Content-Type:Content-Transfer-Encoding:Cc: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=C9EsY5MqB3zjF671EecYsuUMHvJNr0EP/7ag2xPaWgk=; b=JY2XmFZB18Ucv6BFZwLFhL5eRK7+nJ64nKEiARfwknHDEF5SE0i/p+KV7S8BUuANThuLqjQU61RjdBQrIXbgi+gznIwERH/psw7H4OCsK6Ebl1UYaOYk+M+muxqRUbcWmQtpFzrnqnO+hTS+Zug3HcXxMBGoktU3CIn3TLSv/20= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=quarantine dis=quarantine) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1672999522719339.7041293036575; Fri, 6 Jan 2023 02:05:22 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-475-9ZXlUXt4PUO2irGZCcrWlA-1; Fri, 06 Jan 2023 05:05:18 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 89B6685CBF0; Fri, 6 Jan 2023 10:05:15 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 700EA140EBF6; Fri, 6 Jan 2023 10:05:15 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id A9D511946A79; Fri, 6 Jan 2023 10:05:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 13C9D1946586 for ; Fri, 6 Jan 2023 10:05:14 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 0386A2166B31; Fri, 6 Jan 2023 10:05:14 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast08.extmail.prod.ext.rdu2.redhat.com [10.11.55.24]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EFDC52166B30 for ; Fri, 6 Jan 2023 10:05:13 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CD8663804500 for ; Fri, 6 Jan 2023 10:05:13 +0000 (UTC) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-167-tXBFc3ikPF-7WeUSm2GR7A-1; Fri, 06 Jan 2023 05:05:11 -0500 Received: from dggpeml500022.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4NpJnk4KL2znV8B for ; Fri, 6 Jan 2023 18:03:38 +0800 (CST) Received: from localhost.localdomain (10.175.124.27) by dggpeml500022.china.huawei.com (7.185.36.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 6 Jan 2023 18:05:07 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672999521; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=C9EsY5MqB3zjF671EecYsuUMHvJNr0EP/7ag2xPaWgk=; b=PFPf+chd43GIktAAHkJDiMZe0TReoM/Ht3RiUUO86YAwmw/+o8IYQ2Fkyucfs6EiiHlBHC 6vI5uxa7cbvrCXfZDqYG0SGTXGjrpnqY7w2mDgQ5/VCT5bhpnTrjModUzG9MRWnz5urXAE LHDt7I8h02tBW2i/Nvh5P/EOT3LjP8M= X-MC-Unique: 9ZXlUXt4PUO2irGZCcrWlA-1 X-Original-To: libvir-list@listman.corp.redhat.com X-MC-Unique: tXBFc3ikPF-7WeUSm2GR7A-1 From: Jiang Jiacheng To: Subject: [PATCH 2/2] src/tests: use g_autoptr for virNWFilterDef and virNWFilterRuleDef Date: Fri, 6 Jan 2023 17:58:53 +0800 Message-ID: <20230106095853.1464132-3-jiangjiacheng@huawei.com> In-Reply-To: <20230106095853.1464132-1-jiangjiacheng@huawei.com> References: <20230106095853.1464132-1-jiangjiacheng@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.124.27] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpeml500022.china.huawei.com (7.185.36.66) X-CFilter-Loop: Reflected X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: yubihong@huawei.com, zhengchuan@huawei.com, linyilu@huawei.com, jiangjiacheng@huawei.com, xiexiangyou@huawei.com Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 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: 1672999523993100001 Content-Type: text/plain; charset="utf-8" Use g_autoptr() for virNWFilterDef and virNWFilterRuleDef and remove unnecessary label. Signed-off-by: Jiang Jiacheng --- src/conf/nwfilter_conf.c | 44 ++++++++++++++-------------------- src/conf/virnwfilterobj.c | 19 +++++++-------- src/nwfilter/nwfilter_driver.c | 7 +++--- tests/nwfilterxml2xmltest.c | 22 +++++++---------- 4 files changed, 37 insertions(+), 55 deletions(-) diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index e5ea45b0b7..c948daa72a 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2384,7 +2384,7 @@ virNWFilterRuleParse(xmlNodePtr node) int priority; =20 xmlNodePtr cur; - virNWFilterRuleDef *ret; + g_autoptr(virNWFilterRuleDef) ret =3D NULL; =20 ret =3D g_new0(virNWFilterRuleDef, 1); =20 @@ -2397,28 +2397,28 @@ virNWFilterRuleParse(xmlNodePtr node) virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("rule node requires action attribute")); - goto err_exit; + return NULL; } =20 if ((ret->action =3D virNWFilterRuleActionTypeFromString(action)) < 0)= { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("unknown rule action attribute value")); - goto err_exit; + return NULL; } =20 if (!direction) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("rule node requires direction attribute")); - goto err_exit; + return NULL; } =20 if ((ret->tt =3D virNWFilterRuleDirectionTypeFromString(direction)) < = 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("unknown rule direction attribute value")); - goto err_exit; + return NULL; } =20 ret->priority =3D MAX_RULE_PRIORITY / 2; @@ -2455,10 +2455,10 @@ virNWFilterRuleParse(xmlNodePtr node) if (virNWFilterRuleDetailsParse(cur, ret, virAttr[i].att) < 0) { - goto err_exit; + return NULL; } if (virNWFilterRuleValidate(ret) < 0) - goto err_exit; + return NULL; break; } if (!found) { @@ -2476,11 +2476,7 @@ virNWFilterRuleParse(xmlNodePtr node) =20 virNWFilterRuleDefFixup(ret); =20 - return ret; - - err_exit: - g_clear_pointer(&ret, virNWFilterRuleDefFree); - return ret; + return g_steal_pointer(&ret); } =20 =20 @@ -2561,7 +2557,7 @@ virNWFilterIsAllowedChain(const char *chainname) static virNWFilterDef * virNWFilterDefParseXML(xmlXPathContextPtr ctxt) { - virNWFilterDef *ret; + g_autoptr(virNWFilterDef) ret =3D NULL; xmlNodePtr curr =3D ctxt->node; g_autofree char *uuid =3D NULL; g_autofree char *chain =3D NULL; @@ -2576,7 +2572,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) if (!ret->name) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("filter has no name")); - goto cleanup; + return NULL; } =20 chain_pri_s =3D virXPathString("string(./@priority)", ctxt); @@ -2585,7 +2581,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) virReportError(VIR_ERR_INVALID_ARG, _("Could not parse chain priority '%s'"), chain_pri_s); - goto cleanup; + return NULL; } if (chain_priority < NWFILTER_MIN_FILTER_PRIORITY || chain_priority > NWFILTER_MAX_FILTER_PRIORITY) { @@ -2595,7 +2591,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) chain_priority, NWFILTER_MIN_FILTER_PRIORITY, NWFILTER_MAX_FILTER_PRIORITY); - goto cleanup; + return NULL; } } =20 @@ -2603,7 +2599,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) if (chain) { name_prefix =3D virNWFilterIsAllowedChain(chain); if (name_prefix =3D=3D NULL) - goto cleanup; + return NULL; ret->chainsuffix =3D g_steal_pointer(&chain); =20 if (chain_pri_s) { @@ -2626,13 +2622,13 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) if (virUUIDGenerate(ret->uuid) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unable to generate uuid")); - goto cleanup; + return NULL; } } else { if (virUUIDParse(uuid, ret->uuid) < 0) { virReportError(VIR_ERR_XML_ERROR, "%s", _("malformed uuid element")); - goto cleanup; + return NULL; } } =20 @@ -2645,12 +2641,12 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) if (virXMLNodeNameEqual(curr, "rule")) { if (!(entry->rule =3D virNWFilterRuleParse(curr))) { virNWFilterEntryFree(entry); - goto cleanup; + return NULL; } } else if (virXMLNodeNameEqual(curr, "filterref")) { if (!(entry->include =3D virNWFilterIncludeParse(curr))) { virNWFilterEntryFree(entry); - goto cleanup; + return NULL; } } =20 @@ -2663,11 +2659,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) curr =3D curr->next; } =20 - return ret; - - cleanup: - virNWFilterDefFree(ret); - return NULL; + return g_steal_pointer(&ret); } =20 =20 diff --git a/src/conf/virnwfilterobj.c b/src/conf/virnwfilterobj.c index 2e75e90cf1..2a2d877f49 100644 --- a/src/conf/virnwfilterobj.c +++ b/src/conf/virnwfilterobj.c @@ -564,37 +564,34 @@ virNWFilterObjListLoadConfig(virNWFilterObjList *nwfi= lters, const char *configDir, const char *name) { - virNWFilterDef *def =3D NULL; + g_autoptr(virNWFilterDef) def =3D NULL; virNWFilterObj *obj; g_autofree char *configFile =3D NULL; =20 if (!(configFile =3D virFileBuildPath(configDir, name, ".xml"))) - goto error; + return NULL; =20 if (!(def =3D virNWFilterDefParse(NULL, configFile, 0))) - goto error; + return NULL; =20 if (STRNEQ(name, def->name)) { virReportError(VIR_ERR_XML_ERROR, _("network filter config filename '%s' " "does not match name '%s'"), configFile, def->name); - goto error; + return NULL; } =20 /* We generated a UUID, make it permanent by saving the config to disk= */ if (!def->uuid_specified && virNWFilterSaveConfig(configDir, def) < 0) - goto error; + return NULL; =20 - if (!(obj =3D virNWFilterObjListAssignDef(nwfilters, def))) - goto error; + if (!(obj =3D virNWFilterObjListAssignDef(nwfilters, + g_steal_pointer(&def)))) + return NULL; =20 return obj; - - error: - virNWFilterDefFree(def); - return NULL; } =20 =20 diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c index 8e45096eaa..be21aa12c2 100644 --- a/src/nwfilter/nwfilter_driver.c +++ b/src/nwfilter/nwfilter_driver.c @@ -531,7 +531,7 @@ nwfilterDefineXMLFlags(virConnectPtr conn, unsigned int flags) { VIR_LOCK_GUARD lock =3D virLockGuardLock(&driverMutex); - virNWFilterDef *def; + g_autoptr(virNWFilterDef) def =3D NULL; virNWFilterObj *obj =3D NULL; virNWFilterDef *objdef; virNWFilterPtr nwfilter =3D NULL; @@ -552,10 +552,10 @@ nwfilterDefineXMLFlags(virConnectPtr conn, goto cleanup; =20 VIR_WITH_MUTEX_LOCK_GUARD(&driver->updateLock) { - if (!(obj =3D virNWFilterObjListAssignDef(driver->nwfilters, def))) + if (!(obj =3D virNWFilterObjListAssignDef(driver->nwfilters, + g_steal_pointer(&def)))) goto cleanup; } - def =3D NULL; objdef =3D virNWFilterObjGetDef(obj); =20 if (virNWFilterSaveConfig(driver->configDir, objdef) < 0) { @@ -566,7 +566,6 @@ nwfilterDefineXMLFlags(virConnectPtr conn, nwfilter =3D virGetNWFilter(conn, objdef->name, objdef->uuid); =20 cleanup: - virNWFilterDefFree(def); if (obj) virNWFilterObjUnlock(obj); return nwfilter; diff --git a/tests/nwfilterxml2xmltest.c b/tests/nwfilterxml2xmltest.c index ca037ad9a0..5c84c2fee9 100644 --- a/tests/nwfilterxml2xmltest.c +++ b/tests/nwfilterxml2xmltest.c @@ -16,31 +16,25 @@ testCompareXMLToXMLFiles(const char *inxml, const char = *outxml, bool expect_error) { g_autofree char *actual =3D NULL; - int ret =3D -1; - virNWFilterDef *dev =3D NULL; + g_autoptr(virNWFilterDef) def =3D NULL; =20 virResetLastError(); =20 - if (!(dev =3D virNWFilterDefParse(NULL, inxml, 0))) { + if (!(def =3D virNWFilterDefParse(NULL, inxml, 0))) { if (expect_error) { virResetLastError(); - goto done; + return 0; } - goto fail; + return -1; } =20 - if (!(actual =3D virNWFilterDefFormat(dev))) - goto fail; + if (!(actual =3D virNWFilterDefFormat(def))) + return -1; =20 if (virTestCompareToFile(actual, outxml) < 0) - goto fail; + return -1; =20 - done: - ret =3D 0; - - fail: - virNWFilterDefFree(dev); - return ret; + return 0; } =20 typedef struct test_parms { --=20 2.33.0