From nobody Tue Feb 10 12:40:09 2026 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=1672922045; cv=none; d=zohomail.com; s=zohoarc; b=cjMr1rXpiKEoQ6hfYU0zH0g7+HsIQPDSxwgQfkErVhIjU9KxR9NBWiv8HeGBSJM7jxm+ij5cBnNXpArrL4+rX+rGDRZH8oZSdzzLiTyVsANFewAPHxNlzg5cs2iGuxCSq05oEeyOQH8rmPa3NcvTlX2MVvbCeE8Ei22M33G7gz4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672922045; 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=BnWGoJNiH0ti99Xdl0Tw3hXi9+aNBg0gGrs75IQpgdY=; b=lfC+X6+f155H7nLu54+sNJ9CeK615EAPsKOdpF8zUpT/Syd9VaNP4OA012lHPkI2vGcOR05qQGkoiZRshdYulSHnUsRY2u5DGJqhQcevepa3U3iMww8WgLGDv5PMk2gw9rL9t0J2WBUp6l04xaOVtkHKeX+fatWdY4c4FOaRsdQ= 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 1672922045120971.2738776182094; Thu, 5 Jan 2023 04:34:05 -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-172-ANE4j2bpPUe-x9Favp6cWg-1; Thu, 05 Jan 2023 07:33:14 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BC2E83C0D18F; Thu, 5 Jan 2023 12:33:12 +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 81DF12166B30; Thu, 5 Jan 2023 12:33:12 +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 642F5194658C; Thu, 5 Jan 2023 12:33:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 558D119465B1 for ; Thu, 5 Jan 2023 12:33:11 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 49F1553AA; Thu, 5 Jan 2023 12:33:11 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast10.extmail.prod.ext.rdu2.redhat.com [10.11.55.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4140853A0 for ; Thu, 5 Jan 2023 12:33:11 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) (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 1905F1C008CD for ; Thu, 5 Jan 2023 12:33:11 +0000 (UTC) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-489-5hpMkDQSMY6ge-_8IDTMpA-1; Thu, 05 Jan 2023 07:33:08 -0500 Received: from dggpeml500022.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4Nnm6q6QKhzRqy0 for ; Thu, 5 Jan 2023 20:31:31 +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; Thu, 5 Jan 2023 20:33:04 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672922043; 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=BnWGoJNiH0ti99Xdl0Tw3hXi9+aNBg0gGrs75IQpgdY=; b=E3V6enIoXZly+Qmkjy5RgM+ndZxh/sTbdoHqIi1Q6P8YtjXj7ezFj1BOcOXL9IiDWKRDHm NUq/3UFa1yorSY8bewOyLWUPh7peQ8Q7d6+lWJhhxRs9vgWbfewnd7j+8EtZDE+Vyju7kA ir/YVERNKFUs+usDiyJJB0pwmfW0Zcw= X-MC-Unique: ANE4j2bpPUe-x9Favp6cWg-1 X-Original-To: libvir-list@listman.corp.redhat.com X-MC-Unique: 5hpMkDQSMY6ge-_8IDTMpA-1 From: Jiang Jiacheng To: Subject: [PATCH 1/9] conf: use g_autofree and remove unnecessary label Date: Thu, 5 Jan 2023 20:26:47 +0800 Message-ID: <20230105122655.3413625-2-jiangjiacheng@huawei.com> In-Reply-To: <20230105122655.3413625-1-jiangjiacheng@huawei.com> References: <20230105122655.3413625-1-jiangjiacheng@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.124.27] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) 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.5 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.6 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: 1672922046092100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiang Jiacheng --- src/conf/domain_audit.c | 121 ++++++++++--------------------- src/conf/node_device_util.c | 49 +++++-------- src/conf/nwfilter_conf.c | 51 ++++--------- src/conf/virnetworkobj.c | 85 ++++++++-------------- src/conf/virnetworkportdef.c | 12 +-- src/conf/virnwfilterbindingobj.c | 22 ++---- src/conf/virnwfilterobj.c | 14 +--- src/conf/virstorageobj.c | 23 ++---- 8 files changed, 127 insertions(+), 250 deletions(-) diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c index 82cf6ab749..ae875188bd 100644 --- a/src/conf/domain_audit.c +++ b/src/conf/domain_audit.c @@ -300,9 +300,9 @@ virDomainAuditNetDevice(virDomainDef *vmDef, virDomainN= etDef *netDef, { char uuidstr[VIR_UUID_STRING_BUFLEN]; char macstr[VIR_MAC_STRING_BUFLEN]; - char *vmname; - char *dev_name =3D NULL; - char *rdev; + g_autofree char *vmname =3D NULL; + g_autofree char *dev_name =3D NULL; + g_autofree char *rdev =3D NULL; const char *virt =3D virDomainAuditGetVirtType(vmDef); =20 virUUIDFormat(vmDef->uuid, uuidstr); @@ -312,17 +312,12 @@ virDomainAuditNetDevice(virDomainDef *vmDef, virDomai= nNetDef *netDef, if (!(vmname =3D virAuditEncode("vm", vmDef->name)) || !(dev_name =3D virAuditEncode("path", device))) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, "virt=3D%s resrc=3Dnet reason=3Dopen %s uuid=3D%s net=3D%s %= s rdev=3D%s", virt, vmname, uuidstr, macstr, dev_name, VIR_AUDIT_STR(rdev)= ); - - cleanup: - VIR_FREE(vmname); - VIR_FREE(dev_name); - VIR_FREE(rdev); } =20 /** @@ -339,9 +334,9 @@ virDomainAuditHostdev(virDomainObj *vm, virDomainHostde= vDef *hostdev, const char *reason, bool success) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname; - char *address =3D NULL; - char *device =3D NULL; + g_autofree char *vmname =3D NULL; + g_autofree char *address =3D NULL; + g_autofree char *device =3D NULL; const char *virt =3D virDomainAuditGetVirtType(vm->def); =20 virDomainHostdevSubsysUSB *usbsrc =3D &hostdev->source.subsys.u.usb; @@ -371,7 +366,7 @@ virDomainAuditHostdev(virDomainObj *vm, virDomainHostde= vDef *hostdev, /* Follow virDomainAuditDisk && virDomainAuditGenericDev * and don't audit the networked device. */ - goto cleanup; + return; } else { virDomainHostdevSubsysSCSIHost *scsihostsrc =3D &scsisrc->= u.host; =20 @@ -392,12 +387,12 @@ virDomainAuditHostdev(virDomainObj *vm, virDomainHost= devDef *hostdev, default: VIR_WARN("Unexpected hostdev type while encoding audit message= : %d", hostdev->source.subsys.type); - goto cleanup; + return; } =20 if (!(device =3D virAuditEncode("device", VIR_AUDIT_STR(address)))= ) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, @@ -413,7 +408,7 @@ virDomainAuditHostdev(virDomainObj *vm, virDomainHostde= vDef *hostdev, if (!(device =3D virAuditEncode("disk", VIR_AUDIT_STR(hostdev->source.ca= ps.u.storage.block)))) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, @@ -425,7 +420,7 @@ virDomainAuditHostdev(virDomainObj *vm, virDomainHostde= vDef *hostdev, if (!(device =3D virAuditEncode("chardev", VIR_AUDIT_STR(hostdev->source.ca= ps.u.misc.chardev)))) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, @@ -436,7 +431,7 @@ virDomainAuditHostdev(virDomainObj *vm, virDomainHostde= vDef *hostdev, default: VIR_WARN("Unexpected hostdev type while encoding audit message= : %d", hostdev->source.caps.type); - goto cleanup; + return; } break; =20 @@ -444,13 +439,8 @@ virDomainAuditHostdev(virDomainObj *vm, virDomainHostd= evDef *hostdev, default: VIR_WARN("Unexpected hostdev mode while encoding audit message: %d= ", hostdev->mode); - goto cleanup; + return; } - - cleanup: - VIR_FREE(vmname); - VIR_FREE(device); - VIR_FREE(address); } =20 =20 @@ -468,9 +458,9 @@ virDomainAuditRedirdev(virDomainObj *vm, virDomainRedir= devDef *redirdev, const char *reason, bool success) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname; - char *address =3D NULL; - char *device =3D NULL; + g_autofree char *vmname =3D NULL; + g_autofree char *address =3D NULL; + g_autofree char *device =3D NULL; const char *virt =3D virDomainAuditGetVirtType(vm->def); =20 virUUIDFormat(vm->def->uuid, uuidstr); @@ -486,12 +476,12 @@ virDomainAuditRedirdev(virDomainObj *vm, virDomainRed= irdevDef *redirdev, default: VIR_WARN("Unexpected redirdev bus while encoding audit message: %d= ", redirdev->bus); - goto cleanup; + return; } =20 if (!(device =3D virAuditEncode("device", VIR_AUDIT_STR(address)))) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, @@ -499,11 +489,6 @@ virDomainAuditRedirdev(virDomainObj *vm, virDomainRedi= rdevDef *redirdev, virt, reason, vmname, uuidstr, virDomainRedirdevBusTypeToString(redirdev->bus), device); - - cleanup: - VIR_FREE(vmname); - VIR_FREE(device); - VIR_FREE(address); } =20 =20 @@ -522,9 +507,9 @@ virDomainAuditTPM(virDomainObj *vm, virDomainTPMDef *tp= m, const char *reason, bool success) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname; + g_autofree char *vmname =3D NULL; char *path =3D NULL; - char *device =3D NULL; + g_autofree char *device =3D NULL; const char *virt =3D virDomainAuditGetVirtType(vm->def); =20 virUUIDFormat(vm->def->uuid, uuidstr); @@ -538,7 +523,7 @@ virDomainAuditTPM(virDomainObj *vm, virDomainTPMDef *tp= m, path =3D tpm->data.passthrough.source->data.file.path; if (!(device =3D virAuditEncode("device", VIR_AUDIT_STR(path)))) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, @@ -549,7 +534,7 @@ virDomainAuditTPM(virDomainObj *vm, virDomainTPMDef *tp= m, path =3D tpm->data.emulator.source->data.nix.path; if (!(device =3D virAuditEncode("device", VIR_AUDIT_STR(path)))) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, @@ -560,7 +545,7 @@ virDomainAuditTPM(virDomainObj *vm, virDomainTPMDef *tp= m, path =3D tpm->data.external.source->data.nix.path; if (!(device =3D virAuditEncode("device", VIR_AUDIT_STR(path)))) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, @@ -571,10 +556,6 @@ virDomainAuditTPM(virDomainObj *vm, virDomainTPMDef *t= pm, default: break; } - - cleanup: - VIR_FREE(vmname); - VIR_FREE(device); } =20 =20 @@ -596,9 +577,9 @@ virDomainAuditCgroup(virDomainObj *vm, virCgroup *cgrou= p, const char *reason, const char *extra, bool success) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname; - char *controller =3D NULL; - char *detail; + g_autofree char *vmname =3D NULL; + g_autofree char *controller =3D NULL; + g_autofree char *detail =3D NULL; const char *virt =3D virDomainAuditGetVirtType(vm->def); =20 virUUIDFormat(vm->def->uuid, uuidstr); @@ -616,10 +597,6 @@ virDomainAuditCgroup(virDomainObj *vm, virCgroup *cgro= up, "virt=3D%s resrc=3Dcgroup reason=3D%s %s uuid=3D%s %s class= =3D%s", virt, reason, vmname, uuidstr, detail ? detail : "cgroup=3D?", extra); - - VIR_FREE(vmname); - VIR_FREE(controller); - VIR_FREE(detail); } =20 /** @@ -639,14 +616,12 @@ virDomainAuditCgroupMajor(virDomainObj *vm, virCgroup= *cgroup, const char *reason, int maj, const char *name, const char *perms, bool success) { - char *extra; + g_autofree char *extra =3D NULL; =20 extra =3D g_strdup_printf("major category=3D%s maj=3D%02X acl=3D%s", name, maj, perms); =20 virDomainAuditCgroup(vm, cgroup, reason, extra, success); - - VIR_FREE(extra); } =20 /** @@ -666,9 +641,9 @@ virDomainAuditCgroupPath(virDomainObj *vm, virCgroup *c= group, const char *reason, const char *path, const char = *perms, int rc) { - char *detail; - char *rdev; - char *extra =3D NULL; + g_autofree char *detail =3D NULL; + g_autofree char *rdev =3D NULL; + g_autofree char *extra =3D NULL; =20 /* Nothing to audit for regular files. */ if (rc > 0) @@ -678,18 +653,13 @@ virDomainAuditCgroupPath(virDomainObj *vm, virCgroup = *cgroup, =20 if (!(detail =3D virAuditEncode("path", path))) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 extra =3D g_strdup_printf("path %s rdev=3D%s acl=3D%s", detail, VIR_AUDIT_STR(rdev), perms); =20 virDomainAuditCgroup(vm, cgroup, reason, extra, rc =3D=3D 0); - - cleanup: - VIR_FREE(extra); - VIR_FREE(detail); - VIR_FREE(rdev); } =20 /** @@ -709,7 +679,7 @@ virDomainAuditResource(virDomainObj *vm, const char *re= source, const char *reason, bool success) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname; + g_autofree char *vmname =3D NULL; const char *virt =3D virDomainAuditGetVirtType(vm->def); =20 virUUIDFormat(vm->def->uuid, uuidstr); @@ -722,8 +692,6 @@ virDomainAuditResource(virDomainObj *vm, const char *re= source, "virt=3D%s resrc=3D%s reason=3D%s %s uuid=3D%s old-%s=3D%lld= new-%s=3D%lld", virt, resource, reason, vmname, uuidstr, resource, oldval, resource, newval); - - VIR_FREE(vmname); } =20 void @@ -756,7 +724,7 @@ virDomainAuditLifecycle(virDomainObj *vm, const char *o= p, const char *reason, bool success) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname; + g_autofree char *vmname =3D NULL; const char *virt =3D virDomainAuditGetVirtType(vm->def); =20 virUUIDFormat(vm->def->uuid, uuidstr); @@ -769,8 +737,6 @@ virDomainAuditLifecycle(virDomainObj *vm, const char *o= p, VIR_AUDIT(VIR_AUDIT_RECORD_MACHINE_CONTROL, success, "virt=3D%s op=3D%s reason=3D%s %s uuid=3D%s vm-pid=3D%lld", virt, op, reason, vmname, uuidstr, (long long)vm->pid); - - VIR_FREE(vmname); } =20 =20 @@ -851,7 +817,7 @@ virDomainAuditInit(virDomainObj *vm, ino_t pidns) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname; + g_autofree char *vmname =3D NULL; const char *virt =3D virDomainAuditGetVirtType(vm->def); =20 virUUIDFormat(vm->def->uuid, uuidstr); @@ -865,8 +831,6 @@ virDomainAuditInit(virDomainObj *vm, "virt=3D%s op=3Dinit %s uuid=3D%s vm-pid=3D%lld init-pid=3D%= lld pid-ns=3D%lld", virt, vmname, uuidstr, (long long)vm->pid, (long long)initpi= d, (long long)pidns); - - VIR_FREE(vmname); } =20 void @@ -879,7 +843,7 @@ void virDomainAuditSecurityLabel(virDomainObj *vm, bool success) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname; + g_autofree char *vmname =3D NULL; size_t i; const char *virt =3D virDomainAuditGetVirtType(vm->def); =20 @@ -897,8 +861,6 @@ virDomainAuditSecurityLabel(virDomainObj *vm, bool succ= ess) VIR_AUDIT_STR(vm->def->seclabels[i]->imagelabel), VIR_AUDIT_STR(vm->def->seclabels[i]->model)); } - - VIR_FREE(vmname); } =20 void @@ -907,16 +869,16 @@ virDomainAuditShmem(virDomainObj *vm, const char *reason, bool success) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *vmname =3D virAuditEncode("vm", vm->def->name); + g_autofree char *vmname =3D virAuditEncode("vm", vm->def->name); const char *srcpath =3D virDomainChrSourceDefGetPath(def->server.chr); const char *virt =3D virDomainAuditGetVirtType(vm->def); - char *shmpath =3D NULL; + g_autofree char *shmpath =3D NULL; =20 virUUIDFormat(vm->def->uuid, uuidstr); =20 if (!vmname) { VIR_WARN("OOM while encoding audit message"); - goto cleanup; + return; } =20 shmpath =3D g_strdup_printf("/dev/shm/%s", def->name); @@ -936,11 +898,6 @@ virDomainAuditShmem(virDomainObj *vm, "virt=3D%s resrc=3Dshmem reason=3D%s %s uuid=3D%s size= =3D%llu path=3D%s", virt, reason, vmname, uuidstr, def->size, VIR_AUDIT_STR(= shmpath)); } - - cleanup: - VIR_FREE(vmname); - VIR_FREE(shmpath); - return; } =20 =20 diff --git a/src/conf/node_device_util.c b/src/conf/node_device_util.c index dfec1a91ce..c2fa73afc1 100644 --- a/src/conf/node_device_util.c +++ b/src/conf/node_device_util.c @@ -78,7 +78,7 @@ virNodeDeviceCreateVport(virStorageAdapterFCHost *fchost) { unsigned int parent_host; char *name =3D NULL; - char *parent_hoststr =3D NULL; + g_autofree char *parent_hoststr =3D NULL; bool skip_capable_check =3D false; =20 VIR_DEBUG("parent=3D'%s', wwnn=3D'%s' wwpn=3D'%s'", @@ -91,27 +91,27 @@ virNodeDeviceCreateVport(virStorageAdapterFCHost *fchos= t) fchost->parent_wwpn))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("cannot find parent using provided wwnn/wwpn"= )); - goto cleanup; + return name; } } else if (fchost->parent_fabric_wwn) { if (!(parent_hoststr =3D virVHBAGetHostByFabricWWN(NULL, fchost->parent_fabric_wwn)))= { virReportError(VIR_ERR_XML_ERROR, "%s", _("cannot find parent using provided fabric_wwn= ")); - goto cleanup; + return name; } } else { if (!(parent_hoststr =3D virVHBAFindVportHost(NULL))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("'parent' for vHBA not specified, and " "cannot find one on this host")); - goto cleanup; + return name; } skip_capable_check =3D true; } =20 if (virSCSIHostGetNumber(parent_hoststr, &parent_host) < 0) - goto cleanup; + return name; =20 /* NOTE: * We do not save the parent_hoststr in fchost->parent since @@ -125,23 +125,21 @@ virNodeDeviceCreateVport(virStorageAdapterFCHost *fch= ost) virReportError(VIR_ERR_XML_ERROR, _("parent '%s' specified for vHBA does not exist"), parent_hoststr); - goto cleanup; + return name; } =20 if (virVHBAManageVport(parent_host, fchost->wwpn, fchost->wwnn, VPORT_CREATE) < 0) - goto cleanup; + return name; =20 /* Let's ensure the device was created */ virWaitForDevices(); if (!(name =3D virVHBAGetHostByWWN(NULL, fchost->wwnn, fchost->wwpn)))= { ignore_value(virVHBAManageVport(parent_host, fchost->wwpn, fchost-= >wwnn, VPORT_DELETE)); - goto cleanup; + return name; } =20 - cleanup: - VIR_FREE(parent_hoststr); return name; } =20 @@ -160,11 +158,10 @@ int virNodeDeviceDeleteVport(virConnectPtr conn, virStorageAdapterFCHost *fchost) { - char *name =3D NULL; - char *scsi_host_name =3D NULL; + g_autofree char *name =3D NULL; + g_autofree char *scsi_host_name =3D NULL; unsigned int parent_host; - char *vhba_parent =3D NULL; - int ret =3D -1; + g_autofree char *vhba_parent =3D NULL; =20 VIR_DEBUG("conn=3D%p parent=3D'%s', managed=3D'%d' wwnn=3D'%s' wwpn=3D= '%s'", conn, NULLSTR(fchost->parent), fchost->managed, @@ -179,7 +176,7 @@ virNodeDeviceDeleteVport(virConnectPtr conn, virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to find fc_host for wwnn=3D'%s' and wwpn= =3D'%s'"), fchost->wwnn, fchost->wwpn); - goto cleanup; + return -1; } =20 scsi_host_name =3D g_strdup_printf("scsi_%s", name); @@ -193,36 +190,28 @@ virNodeDeviceDeleteVport(virConnectPtr conn, * was the same as the scsi_host - meaning we have a pool * backed to an HBA, so there won't be a vHBA to delete */ if (STREQ(scsi_host_name, fchost->parent)) { - ret =3D 0; - goto cleanup; + return 0; } =20 if (virSCSIHostGetNumber(fchost->parent, &parent_host) < 0) - goto cleanup; + return -1; } else { if (!(vhba_parent =3D virNodeDeviceGetParentName(conn, scsi_host_n= ame))) - goto cleanup; + return -1; =20 /* If the parent is not a scsi_host, then this is a pool backed * directly to an HBA and there's no vHBA to remove - so we're don= e */ if (!STRPREFIX(vhba_parent, "scsi_host")) { - ret =3D 0; - goto cleanup; + return 0; } =20 if (virSCSIHostGetNumber(vhba_parent, &parent_host) < 0) - goto cleanup; + return -1; } =20 if (virVHBAManageVport(parent_host, fchost->wwpn, fchost->wwnn, VPORT_DELETE) < 0) - goto cleanup; - - ret =3D 0; + return -1; =20 - cleanup: - VIR_FREE(name); - VIR_FREE(vhba_parent); - VIR_FREE(scsi_host_name); - return ret; + return 0; } diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 9a95ae6c12..39f36ca29d 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2375,10 +2375,10 @@ virNWFilterRuleDefFixup(virNWFilterRuleDef *rule) static virNWFilterRuleDef * virNWFilterRuleParse(xmlNodePtr node) { - char *action; - char *direction; - char *prio; - char *statematch; + g_autofree char *action =3D NULL; + g_autofree char *direction =3D NULL; + g_autofree char *prio =3D NULL; + g_autofree char *statematch =3D NULL; bool found; int found_i =3D 0; int priority; @@ -2476,17 +2476,11 @@ virNWFilterRuleParse(xmlNodePtr node) =20 virNWFilterRuleDefFixup(ret); =20 - cleanup: - VIR_FREE(prio); - VIR_FREE(action); - VIR_FREE(direction); - VIR_FREE(statematch); - return ret; =20 err_exit: g_clear_pointer(&ret, virNWFilterRuleDefFree); - goto cleanup; + return ret; } =20 =20 @@ -2521,7 +2515,7 @@ virNWFilterIsAllowedChain(const char *chainname) { virNWFilterChainSuffixType i; const char *name; - char *msg; + g_autofree char *msg =3D NULL; g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; bool printed =3D false; =20 @@ -2559,7 +2553,6 @@ virNWFilterIsAllowedChain(const char *chainname) msg =3D virBufferContentAndReset(&buf); =20 virReportError(VIR_ERR_INVALID_ARG, "%s", msg); - VIR_FREE(msg); =20 return NULL; } @@ -2571,8 +2564,8 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) virNWFilterDef *ret; xmlNodePtr curr =3D ctxt->node; char *uuid =3D NULL; - char *chain =3D NULL; - char *chain_pri_s =3D NULL; + g_autofree char *chain =3D NULL; + g_autofree char *chain_pri_s =3D NULL; virNWFilterEntry *entry; int chain_priority; const char *name_prefix; @@ -2671,16 +2664,11 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) curr =3D curr->next; } =20 - VIR_FREE(chain); - VIR_FREE(chain_pri_s); - return ret; =20 cleanup: virNWFilterDefFree(ret); - VIR_FREE(chain); VIR_FREE(uuid); - VIR_FREE(chain_pri_s); return NULL; } =20 @@ -2707,24 +2695,21 @@ virNWFilterSaveConfig(const char *configDir, virNWFilterDef *def) { int ret =3D -1; - char *xml; + g_autofree char *xml =3D NULL; char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *configFile =3D NULL; + g_autofree char *configFile =3D NULL; =20 if (!(xml =3D virNWFilterDefFormat(def))) - goto cleanup; + return ret; =20 if (!(configFile =3D virFileBuildPath(configDir, def->name, ".xml"))) - goto cleanup; + return ret; =20 virUUIDFormat(def->uuid, uuidstr); ret =3D virXMLSaveFile(configFile, virXMLPickShellSafeComment(def->name, uuidstr), "nwfilter-edit", xml); =20 - cleanup: - VIR_FREE(configFile); - VIR_FREE(xml); return ret; } =20 @@ -2733,23 +2718,19 @@ int virNWFilterDeleteDef(const char *configDir, virNWFilterDef *def) { - int ret =3D -1; - char *configFile =3D NULL; + g_autofree char *configFile =3D NULL; =20 if (!(configFile =3D virFileBuildPath(configDir, def->name, ".xml"))) - goto error; + return -1; =20 if (unlink(configFile) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("cannot remove config for %s"), def->name); - goto error; + return -1; } =20 - ret =3D 0; - error: - VIR_FREE(configFile); - return ret; + return 0; } =20 =20 diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 635d2ec0b0..c75ecf3a04 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -260,8 +260,7 @@ virNetworkObjMacMgrAdd(virNetworkObj *obj, const virMacAddr *mac) { char macStr[VIR_MAC_STRING_BUFLEN]; - char *file =3D NULL; - int ret =3D -1; + g_autofree char *file =3D NULL; =20 if (!obj->macmap) return 0; @@ -269,18 +268,15 @@ virNetworkObjMacMgrAdd(virNetworkObj *obj, virMacAddrFormat(mac, macStr); =20 if (!(file =3D virMacMapFileName(dnsmasqStateDir, obj->def->bridge))) - goto cleanup; + return -1; =20 if (virMacMapAdd(obj->macmap, domain, macStr) < 0) - goto cleanup; + return -1; =20 if (virMacMapWriteFile(obj->macmap, file) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - cleanup: - VIR_FREE(file); - return ret; + return 0; } =20 =20 @@ -291,8 +287,7 @@ virNetworkObjMacMgrDel(virNetworkObj *obj, const virMacAddr *mac) { char macStr[VIR_MAC_STRING_BUFLEN]; - char *file =3D NULL; - int ret =3D -1; + g_autofree char *file =3D NULL; =20 if (!obj->macmap) return 0; @@ -300,18 +295,15 @@ virNetworkObjMacMgrDel(virNetworkObj *obj, virMacAddrFormat(mac, macStr); =20 if (!(file =3D virMacMapFileName(dnsmasqStateDir, obj->def->bridge))) - goto cleanup; + return -1; =20 if (virMacMapRemove(obj->macmap, domain, macStr) < 0) - goto cleanup; + return -1; =20 if (virMacMapWriteFile(obj->macmap, file) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - cleanup: - VIR_FREE(file); - return ret; + return 0; } =20 =20 @@ -819,20 +811,16 @@ virNetworkObjSaveStatus(const char *statusDir, virNetworkObj *obj, virNetworkXMLOption *xmlopt) { - int ret =3D -1; int flags =3D 0; - char *xml; + g_autofree char *xml =3D NULL; =20 if (!(xml =3D virNetworkObjFormat(obj, xmlopt, flags))) - goto cleanup; + return -1; =20 if (virNetworkSaveXML(statusDir, obj->def, xml)) - goto cleanup; + return -1; =20 - ret =3D 0; - cleanup: - VIR_FREE(xml); - return ret; + return 0; } =20 =20 @@ -953,29 +941,30 @@ virNetworkLoadConfig(virNetworkObjList *nets, const char *name, virNetworkXMLOption *xmlopt) { - char *configFile =3D NULL, *autostartLink =3D NULL; + g_autofree char *configFile =3D NULL; + g_autofree char *autostartLink =3D NULL; g_autoptr(virNetworkDef) def =3D NULL; virNetworkObj *obj; bool saveConfig =3D false; int autostart; =20 if ((configFile =3D virNetworkConfigFile(configDir, name)) =3D=3D NULL) - goto error; + return NULL; if ((autostartLink =3D virNetworkConfigFile(autostartDir, name)) =3D= =3D NULL) - goto error; + return NULL; =20 if ((autostart =3D virFileLinkPointsTo(autostartLink, configFile)) < 0) - goto error; + return NULL; =20 if (!(def =3D virNetworkDefParse(NULL, configFile, xmlopt, false))) - goto error; + return NULL; =20 if (STRNEQ(name, def->name)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Network config filename '%s'" " does not match network name '%s'"), configFile, def->name); - goto error; + return NULL; } =20 switch ((virNetworkForwardType) def->forward.type) { @@ -1005,7 +994,7 @@ virNetworkLoadConfig(virNetworkObjList *nets, case VIR_NETWORK_FORWARD_LAST: default: virReportEnumRangeError(virNetworkForwardType, def->forward.type); - goto error; + return NULL; } =20 /* The network didn't have a UUID so we generated a new one, and @@ -1016,25 +1005,17 @@ virNetworkLoadConfig(virNetworkObjList *nets, =20 if (saveConfig && virNetworkSaveConfig(configDir, def, xmlopt) < 0) { - goto error; + return NULL; } =20 if (!(obj =3D virNetworkObjAssignDef(nets, def, 0))) - goto error; + return NULL; =20 def =3D NULL; =20 obj->autostart =3D (autostart =3D=3D 1); =20 - VIR_FREE(configFile); - VIR_FREE(autostartLink); - return obj; - - error: - VIR_FREE(configFile); - VIR_FREE(autostartLink); - return NULL; } =20 =20 @@ -1110,14 +1091,13 @@ virNetworkObjDeleteConfig(const char *configDir, const char *autostartDir, virNetworkObj *obj) { - char *configFile =3D NULL; - char *autostartLink =3D NULL; - int ret =3D -1; + g_autofree char *configFile =3D NULL; + g_autofree char *autostartLink =3D NULL; =20 if (!(configFile =3D virNetworkConfigFile(configDir, obj->def->name))) - goto error; + return -1; if (!(autostartLink =3D virNetworkConfigFile(autostartDir, obj->def->n= ame))) - goto error; + return -1; =20 /* Not fatal if this doesn't work */ unlink(autostartLink); @@ -1127,15 +1107,10 @@ virNetworkObjDeleteConfig(const char *configDir, virReportSystemError(errno, _("cannot remove config file '%s'"), configFile); - goto error; + return -1; } =20 - ret =3D 0; - - error: - VIR_FREE(configFile); - VIR_FREE(autostartLink); - return ret; + return 0; } =20 =20 diff --git a/src/conf/virnetworkportdef.c b/src/conf/virnetworkportdef.c index 035e3fe758..37f5376976 100644 --- a/src/conf/virnetworkportdef.c +++ b/src/conf/virnetworkportdef.c @@ -415,22 +415,18 @@ virNetworkPortDefDeleteStatus(virNetworkPortDef *def, const char *dir) { char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *path; - int ret =3D -1; + g_autofree char *path =3D NULL; =20 virUUIDFormat(def->uuid, uuidstr); =20 if (!(path =3D virNetworkPortDefConfigFile(dir, uuidstr))) - goto cleanup; + return -1; =20 if (unlink(path) < 0 && errno !=3D ENOENT) { virReportSystemError(errno, _("Unable to delete %s"), path); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(path); - return ret; + return 0; } diff --git a/src/conf/virnwfilterbindingobj.c b/src/conf/virnwfilterbinding= obj.c index 6e67c5c7b6..862f825422 100644 --- a/src/conf/virnwfilterbindingobj.c +++ b/src/conf/virnwfilterbindingobj.c @@ -146,8 +146,8 @@ int virNWFilterBindingObjSave(const virNWFilterBindingObj *obj, const char *statusDir) { - char *filename; - char *xml =3D NULL; + g_autofree char *filename =3D NULL; + g_autofree char *xml =3D NULL; int ret =3D -1; =20 if (!(filename =3D virNWFilterBindingObjConfigFile(statusDir, @@ -155,22 +155,19 @@ virNWFilterBindingObjSave(const virNWFilterBindingObj= *obj, return -1; =20 if (!(xml =3D virNWFilterBindingObjFormat(obj))) - goto cleanup; + return -1; =20 if (g_mkdir_with_parents(statusDir, 0777) < 0) { virReportSystemError(errno, _("cannot create config directory '%s'"), statusDir); - goto cleanup; + return -1; } =20 ret =3D virXMLSaveFile(filename, obj->def->portdevname, "nwfilter-binding-create", xml); =20 - cleanup: - VIR_FREE(xml); - VIR_FREE(filename); return ret; } =20 @@ -179,8 +176,7 @@ int virNWFilterBindingObjDelete(const virNWFilterBindingObj *obj, const char *statusDir) { - char *filename; - int ret =3D -1; + g_autofree char *filename =3D NULL; =20 if (!(filename =3D virNWFilterBindingObjConfigFile(statusDir, obj->def->portdevname= ))) @@ -191,14 +187,10 @@ virNWFilterBindingObjDelete(const virNWFilterBindingO= bj *obj, virReportSystemError(errno, _("Unable to remove status '%s' for nwfilter = binding %s'"), filename, obj->def->portdevname); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(filename); - return ret; + return 0; } =20 =20 diff --git a/src/conf/virnwfilterobj.c b/src/conf/virnwfilterobj.c index e8dfe66b3c..a8574beb79 100644 --- a/src/conf/virnwfilterobj.c +++ b/src/conf/virnwfilterobj.c @@ -282,19 +282,15 @@ virNWFilterDefEqual(const virNWFilterDef *def1, virNWFilterDef *def2) { bool ret =3D false; - char *xml1 =3D NULL; - char *xml2 =3D NULL; + g_autofree char *xml1 =3D NULL; + g_autofree char *xml2 =3D NULL; =20 if (!(xml1 =3D virNWFilterDefFormat(def1)) || !(xml2 =3D virNWFilterDefFormat(def2))) - goto cleanup; + return false; =20 ret =3D STREQ(xml1, xml2); =20 - cleanup: - VIR_FREE(xml1); - VIR_FREE(xml2); - return ret; } =20 @@ -573,7 +569,7 @@ virNWFilterObjListLoadConfig(virNWFilterObjList *nwfilt= ers, { virNWFilterDef *def =3D NULL; virNWFilterObj *obj; - char *configFile =3D NULL; + g_autofree char *configFile =3D NULL; =20 if (!(configFile =3D virFileBuildPath(configDir, name, ".xml"))) goto error; @@ -597,11 +593,9 @@ virNWFilterObjListLoadConfig(virNWFilterObjList *nwfil= ters, if (!(obj =3D virNWFilterObjListAssignDef(nwfilters, def))) goto error; =20 - VIR_FREE(configFile); return obj; =20 error: - VIR_FREE(configFile); virNWFilterDefFree(def); return NULL; } diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c index 98d9e0b97e..e6c187e80a 100644 --- a/src/conf/virstorageobj.c +++ b/src/conf/virstorageobj.c @@ -1088,9 +1088,8 @@ static int getSCSIHostNumber(virStorageAdapterSCSIHost *scsi_host, unsigned int *hostnum) { - int ret =3D -1; unsigned int num; - char *name =3D NULL; + g_autofree char *name =3D NULL; =20 if (scsi_host->has_parent) { virPCIDeviceAddress *addr =3D &scsi_host->parentaddr; @@ -1101,20 +1100,17 @@ getSCSIHostNumber(virStorageAdapterSCSIHost *scsi_h= ost, addr->slot, addr->function, unique_id))) - goto cleanup; + return -1; if (virSCSIHostGetNumber(name, &num) < 0) - goto cleanup; + return -1; } else { if (virSCSIHostGetNumber(scsi_host->name, &num) < 0) - goto cleanup; + return -1; } =20 *hostnum =3D num; - ret =3D 0; =20 - cleanup: - VIR_FREE(name); - return ret; + return 0; } =20 =20 @@ -1147,9 +1143,9 @@ matchFCHostToSCSIHost(virStorageAdapterFCHost *fchost, { virConnectPtr conn =3D NULL; bool ret =3D false; - char *name =3D NULL; - char *scsi_host_name =3D NULL; - char *parent_name =3D NULL; + g_autofree char *name =3D NULL; + g_autofree char *scsi_host_name =3D NULL; + g_autofree char *parent_name =3D NULL; =20 /* If we have a parent defined, get its hostnum, and compare to the * scsi_hostnum. If they are the same, then we have a match @@ -1202,9 +1198,6 @@ matchFCHostToSCSIHost(virStorageAdapterFCHost *fchost, */ =20 cleanup: - VIR_FREE(name); - VIR_FREE(parent_name); - VIR_FREE(scsi_host_name); virConnectClose(conn); return ret; } --=20 2.33.0