From nobody Sat Feb 7 18:51:57 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1568836489; cv=none; d=zoho.com; s=zohoarc; b=C28q1JSLrcZYvFek+HfozfXsCnA8Gr8Ln/cH+1/Xs6IXgBZe1/cTxaC0KiFWdFV3CgkXn5UQi4zKLW8AuGKKaDM/HmwUYy6R1jBjfeGN40coUNrtLyUrKi2PlDiBIODQVjOQNUxVQDJtVDqxtg637ViB2GjDLTit9V2UFTKpm90= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1568836489; 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:ARC-Authentication-Results; bh=F63w7uqGvh6vv94TS0g6QDN4+uksd0f68XNhPnqaqIM=; b=W3F7h8VnEp/l3JIPQk0G86UrV5qH0W03xgzG2vF1k/wkDcpx8QtiP2qkBoI7nDCRjHLLH+WJGNPmOjREYB/VYYrfkNQwcRaUHn/JR8h7LvValeuG/8jt9i9MeDbEEHugrN0I2AQ/2ExkVc7Chx6mQXN2MbqkI5HOsaG+eRHMHQQ= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1568836489448158.9707614883897; Wed, 18 Sep 2019 12:54:49 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 69224300BEA2; Wed, 18 Sep 2019 19:54:47 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3EC5A60C18; Wed, 18 Sep 2019 19:54:47 +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 010F918037CA; Wed, 18 Sep 2019 19:54:46 +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 x8IJrPcv027083 for ; Wed, 18 Sep 2019 15:53:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id 493AC5D9E5; Wed, 18 Sep 2019 19:53:25 +0000 (UTC) Received: from mx1.redhat.com (ext-mx21.extmail.prod.ext.phx2.redhat.com [10.5.110.62]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 42DF35D9CC for ; Wed, 18 Sep 2019 19:53:24 +0000 (UTC) Received: from mail-qt1-f194.google.com (mail-qt1-f194.google.com [209.85.160.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DC65718C4278 for ; Wed, 18 Sep 2019 19:53:23 +0000 (UTC) Received: by mail-qt1-f194.google.com with SMTP id c3so1214951qtv.10 for ; Wed, 18 Sep 2019 12:53:23 -0700 (PDT) Received: from localhost.localdomain ([2804:18:866:c944:d7b6:5cb4:9b19:2264]) by smtp.gmail.com with ESMTPSA id f27sm2764839qtv.85.2019.09.18.12.53.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Sep 2019 12:53:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=P68VtNaKev5IZHyARnJ9beN424T0y4X5Qr7hBATLkKw=; b=mXotmFJAg0ccydPVlrHw+BF2rVkwQl+XupO6CT9f4IdpW1N3nW5p8XM3ZYCKIroQgD 2EQf68Fh1AsJL0XJfMgpygkbOdVz93+EdY68HdSoIEPhwhbbTbqOHoAMQ3faKslsrLre CyGsfbmebsnuONqe35hiHO+n3xCxiUZeRRAUYhLfaj6MGcjR4lSgcecpjr8p0fi3fsR9 Ig3ZWCkaXNTavj/qNWMzkEjFhAZhSQHk1YHOAMCAfTlOGxlVwZyvr6el9Hm16agUfPSu VNC+iITrohIzfWtQNFumKv4Ygq+vu5SKP/Vb+QXDGki57gOhdKtsIEFCGLpqwNQqylcu GLTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P68VtNaKev5IZHyARnJ9beN424T0y4X5Qr7hBATLkKw=; b=XZXurRSFQCuVaA/e6ODftLaL0x0g63BAgvgiFMBsFJUh3By2gO5FLdlbp4tIpe3ThX rRmfcV44HBEK2x280S07q/9bwDo4sy31pVENINdAFG+5hOhpk5YIgI5VvuM5kXtbFi3m VhZGuLxC9enI7czybxnY2fQ9wVEFK83kUuTmk5NS1k9Sjfu7SD7yb/4A4t3mqMcyDLbd 7XR98rfwa2UqBER3+AsQzbGo5l9ocqCXpcdRuxaZK6bKtnaU7F4cxGGxcJRzRrWwNMzz Yunprxm0Xr+jmEcqMFE9eiszbVEdnRCJeAngsJ8AhtxJgI24e2jthmLEL1PybeC5SSv0 qCkQ== X-Gm-Message-State: APjAAAVfORSnsrD/fopUx5lOguKV8b9+xUunX6Q613jEiemK+HqZxOE6 N6DudVJifGNw3w9WUVwoHQ9MtQBP12o= X-Google-Smtp-Source: APXvYqzM1ZqmT69Xw7/Ija8UJ7+xOoC23/LTz59wnFyjETBig8i/P4y6i4VMgywyvtph0TzYsZUZfg== X-Received: by 2002:ac8:71ca:: with SMTP id i10mr6058620qtp.149.1568836402935; Wed, 18 Sep 2019 12:53:22 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Wed, 18 Sep 2019 16:53:06 -0300 Message-Id: <20190918195308.3236-2-danielhb413@gmail.com> In-Reply-To: <20190918195308.3236-1-danielhb413@gmail.com> References: <20190918195308.3236-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.62]); Wed, 18 Sep 2019 19:53:24 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.62]); Wed, 18 Sep 2019 19:53:24 +0000 (UTC) for IP:'209.85.160.194' DOMAIN:'mail-qt1-f194.google.com' HELO:'mail-qt1-f194.google.com' FROM:'danielhb413@gmail.com' RCPT:'' X-RedHat-Spam-Score: 0.153 (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS) 209.85.160.194 mail-qt1-f194.google.com 209.85.160.194 mail-qt1-f194.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.62 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza Subject: [libvirt] [PATCH 1/3] qemu_hotplug.c: use VIR_AUTOFREE() in strings 1/3 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: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Wed, 18 Sep 2019 19:54:47 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Using VIR_AUTOFREE() spare us from calling VIR_VREE() and sometimes a whole 'cleanup' label can be erased as well. There are quite a few strings in qemu_hotplug.c to be auto-freed. This is the first part of this change. Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_hotplug.c | 106 +++++++++++++--------------------------- 1 file changed, 33 insertions(+), 73 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 62e505b779..5b1639b48d 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -136,20 +136,15 @@ static int qemuDomainAttachZPCIDevice(qemuMonitorPtr mon, virDomainDeviceInfoPtr info) { - char *devstr_zpci =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) devstr_zpci =3D NULL; =20 if (!(devstr_zpci =3D qemuBuildZPCIDevStr(info))) - goto cleanup; + return -1; =20 if (qemuMonitorAddDevice(mon, devstr_zpci) < 0) - goto cleanup; - - ret =3D 0; + return -1; =20 - cleanup: - VIR_FREE(devstr_zpci); - return ret; + return 0; } =20 =20 @@ -157,20 +152,15 @@ static int qemuDomainDetachZPCIDevice(qemuMonitorPtr mon, virDomainDeviceInfoPtr info) { - char *zpciAlias =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) zpciAlias =3D NULL; =20 if (virAsprintf(&zpciAlias, "zpci%d", info->addr.pci.zpci.uid) < 0) - goto cleanup; + return -1; =20 if (qemuMonitorDelDevice(mon, zpciAlias) < 0) - goto cleanup; - - ret =3D 0; + return -1; =20 - cleanup: - VIR_FREE(zpciAlias); - return ret; + return 0; } =20 =20 @@ -517,7 +507,7 @@ qemuDomainChangeMediaBlockdev(virQEMUDriverPtr driver, qemuDomainDiskPrivatePtr diskPriv =3D QEMU_DOMAIN_DISK_PRIVATE(disk); VIR_AUTOPTR(qemuBlockStorageSourceChainData) newbackend =3D NULL; VIR_AUTOPTR(qemuBlockStorageSourceChainData) oldbackend =3D NULL; - char *nodename =3D NULL; + VIR_AUTOFREE(char *) nodename =3D NULL; int rc; int ret =3D -1; =20 @@ -572,7 +562,6 @@ qemuDomainChangeMediaBlockdev(virQEMUDriverPtr driver, ret =3D 0; =20 cleanup: - VIR_FREE(nodename); return ret; } =20 @@ -823,7 +812,7 @@ int qemuDomainAttachControllerDevice(virQEMUDriverPtr d= river, { int ret =3D -1; const char* type =3D virDomainControllerTypeToString(controller->type); - char *devstr =3D NULL; + VIR_AUTOFREE(char *) devstr =3D NULL; qemuDomainObjPrivatePtr priv =3D vm->privateData; virDomainDeviceDef dev =3D { VIR_DOMAIN_DEVICE_CONTROLLER, { .controller =3D controller } }; @@ -890,7 +879,6 @@ int qemuDomainAttachControllerDevice(virQEMUDriverPtr d= river, if (ret !=3D 0 && releaseaddr) qemuDomainReleaseDeviceAddress(vm, &controller->info); =20 - VIR_FREE(devstr); return ret; } =20 @@ -1156,8 +1144,8 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, int *vhostfd =3D NULL; size_t vhostfdSize =3D 0; size_t queueSize =3D 0; - char *nicstr =3D NULL; - char *netstr =3D NULL; + VIR_AUTOFREE(char *) nicstr =3D NULL; + VIR_AUTOFREE(char *) netstr =3D NULL; int ret =3D -1; bool releaseaddr =3D false; bool iface_connected =3D false; @@ -1166,10 +1154,10 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); virDomainCCWAddressSetPtr ccwaddrs =3D NULL; size_t i; - char *charDevAlias =3D NULL; + VIR_AUTOFREE(char *) charDevAlias =3D NULL; bool charDevPlugged =3D false; bool netdevPlugged =3D false; - char *netdev_name; + VIR_AUTOFREE(char *) netdev_name =3D NULL; virConnectPtr conn =3D NULL; virErrorPtr save_err =3D NULL; =20 @@ -1499,8 +1487,6 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, virErrorRestore(&save_err); } =20 - VIR_FREE(nicstr); - VIR_FREE(netstr); for (i =3D 0; tapfd && i < tapfdSize; i++) { VIR_FORCE_CLOSE(tapfd[i]); if (tapfdName) @@ -1515,7 +1501,6 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, } VIR_FREE(vhostfd); VIR_FREE(vhostfdName); - VIR_FREE(charDevAlias); virObjectUnref(conn); virDomainCCWAddressSetFree(ccwaddrs); VIR_FORCE_CLOSE(slirpfd); @@ -1539,7 +1524,6 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, VIR_WARN("Failed to remove network backend for netdev %s", netdev_name); ignore_value(qemuDomainObjExitMonitor(driver, vm)); - VIR_FREE(netdev_name); } virErrorRestore(&originalError); goto cleanup; @@ -1556,7 +1540,7 @@ qemuDomainAttachHostPCIDevice(virQEMUDriverPtr driver, { .hostdev =3D hostdev } }; virDomainDeviceInfoPtr info =3D hostdev->info; int ret; - char *devstr =3D NULL; + VIR_AUTOFREE(char *) devstr =3D NULL; bool releaseaddr =3D false; bool teardowncgroup =3D false; bool teardownlabel =3D false; @@ -1658,8 +1642,6 @@ qemuDomainAttachHostPCIDevice(virQEMUDriverPtr driver, =20 vm->def->hostdevs[vm->def->nhostdevs++] =3D hostdev; =20 - VIR_FREE(devstr); - return 0; =20 error: @@ -1679,8 +1661,6 @@ qemuDomainAttachHostPCIDevice(virQEMUDriverPtr driver, =20 qemuHostdevReAttachPCIDevices(driver, vm->def->name, &hostdev, 1); =20 - VIR_FREE(devstr); - cleanup: return -1; } @@ -1726,7 +1706,7 @@ qemuDomainAddTLSObjects(virQEMUDriverPtr driver, { qemuDomainObjPrivatePtr priv =3D vm->privateData; virErrorPtr orig_err; - char *secAlias =3D NULL; + VIR_AUTOFREE(char *) secAlias =3D NULL; =20 if (!tlsProps && !secProps) return 0; @@ -1742,8 +1722,6 @@ qemuDomainAddTLSObjects(virQEMUDriverPtr driver, qemuMonitorAddObject(priv->mon, tlsProps, NULL) < 0) goto error; =20 - VIR_FREE(secAlias); - return qemuDomainObjExitMonitor(driver, vm); =20 error: @@ -1751,7 +1729,6 @@ qemuDomainAddTLSObjects(virQEMUDriverPtr driver, ignore_value(qemuDomainObjExitMonitor(driver, vm)); virErrorRestore(&orig_err); qemuDomainDelTLSObjects(driver, vm, asyncJob, secAlias, NULL); - VIR_FREE(secAlias); =20 return -1; } @@ -1850,20 +1827,18 @@ qemuDomainDelChardevTLSObjects(virQEMUDriverPtr dri= ver, virDomainChrSourceDefPtr dev, const char *inAlias) { - int ret =3D -1; VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); qemuDomainObjPrivatePtr priv =3D vm->privateData; - char *tlsAlias =3D NULL; - char *secAlias =3D NULL; + VIR_AUTOFREE(char *) tlsAlias =3D NULL; + VIR_AUTOFREE(char *) secAlias =3D NULL; =20 if (dev->type !=3D VIR_DOMAIN_CHR_TYPE_TCP || dev->data.tcp.haveTLS !=3D VIR_TRISTATE_BOOL_YES) { - ret =3D 0; - goto cleanup; + return 0; } =20 if (!(tlsAlias =3D qemuAliasTLSObjFromSrcAlias(inAlias))) - goto cleanup; + return -1; =20 /* Best shot at this as the secinfo is destroyed after process launch * and this path does not recreate it. Thus, if the config has the @@ -1871,7 +1846,7 @@ qemuDomainDelChardevTLSObjects(virQEMUDriverPtr drive= r, * secAlias which we'll attempt to destroy. */ if (cfg->chardevTLSx509secretUUID && !(secAlias =3D qemuDomainGetSecretAESAlias(inAlias, false))) - goto cleanup; + return -1; =20 qemuDomainObjEnterMonitor(driver, vm); =20 @@ -1880,14 +1855,9 @@ qemuDomainDelChardevTLSObjects(virQEMUDriverPtr driv= er, ignore_value(qemuMonitorDelObject(priv->mon, secAlias)); =20 if (qemuDomainObjExitMonitor(driver, vm) < 0) - goto cleanup; - - ret =3D 0; + return -1; =20 - cleanup: - VIR_FREE(tlsAlias); - VIR_FREE(secAlias); - return ret; + return 0; } =20 =20 @@ -1898,10 +1868,10 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr= driver, int ret =3D -1; qemuDomainObjPrivatePtr priv =3D vm->privateData; virDomainDefPtr def =3D vm->def; - char *charAlias =3D NULL; - char *devstr =3D NULL; + VIR_AUTOFREE(char *) charAlias =3D NULL; + VIR_AUTOFREE(char *) devstr =3D NULL; bool chardevAdded =3D false; - char *tlsAlias =3D NULL; + VIR_AUTOFREE(char *) tlsAlias =3D NULL; const char *secAlias =3D NULL; bool need_release =3D false; virErrorPtr orig_err; @@ -1948,9 +1918,6 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr d= river, cleanup: if (ret < 0 && need_release) qemuDomainReleaseDeviceAddress(vm, &redirdev->info); - VIR_FREE(tlsAlias); - VIR_FREE(charAlias); - VIR_FREE(devstr); return ret; =20 exit_monitor: @@ -2134,14 +2101,14 @@ int qemuDomainAttachChrDevice(virQEMUDriverPtr driv= er, qemuDomainObjPrivatePtr priv =3D vm->privateData; virErrorPtr orig_err; virDomainDefPtr vmdef =3D vm->def; - char *devstr =3D NULL; + VIR_AUTOFREE(char *) devstr =3D NULL; virDomainChrSourceDefPtr dev =3D chr->source; - char *charAlias =3D NULL; + VIR_AUTOFREE(char *)charAlias =3D NULL; bool chardevAttached =3D false; bool teardowncgroup =3D false; bool teardowndevice =3D false; bool teardownlabel =3D false; - char *tlsAlias =3D NULL; + VIR_AUTOFREE(char *) tlsAlias =3D NULL; const char *secAlias =3D NULL; bool need_release =3D false; bool guestfwd =3D false; @@ -2222,9 +2189,6 @@ int qemuDomainAttachChrDevice(virQEMUDriverPtr driver, if (teardowndevice && qemuDomainNamespaceTeardownChardev(vm, chr) = < 0) VIR_WARN("Unable to remove chr device from /dev"); } - VIR_FREE(tlsAlias); - VIR_FREE(charAlias); - VIR_FREE(devstr); return ret; =20 exit_monitor: @@ -2249,10 +2213,10 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv =3D vm->privateData; virDomainDeviceDef dev =3D { VIR_DOMAIN_DEVICE_RNG, { .rng =3D rng } }; virErrorPtr orig_err; - char *devstr =3D NULL; - char *charAlias =3D NULL; - char *objAlias =3D NULL; - char *tlsAlias =3D NULL; + VIR_AUTOFREE(char *) devstr =3D NULL; + VIR_AUTOFREE(char *) charAlias =3D NULL; + VIR_AUTOFREE(char *) objAlias =3D NULL; + VIR_AUTOFREE(char *) tlsAlias =3D NULL; const char *secAlias =3D NULL; bool releaseaddr =3D false; bool teardowncgroup =3D false; @@ -2338,10 +2302,6 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver, VIR_WARN("Unable to remove chr device from /dev"); } =20 - VIR_FREE(tlsAlias); - VIR_FREE(charAlias); - VIR_FREE(objAlias); - VIR_FREE(devstr); return ret; =20 exit_monitor: --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list