From nobody Sun Feb 8 22:35:29 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; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 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=1566305977; cv=none; d=zoho.com; s=zohoarc; b=ZPgZ3sC8OM0FjHI3VAT38CVdmWlNzjH7MT6jjqQ7xeiSFLlZA/tw1lUgngPQsU4X5no+KUyojU4A96QQaw3SIBIHEn4WpbBBwCp40ll9u1cIcYW/3dueJzwIiq0YqQItUT2X9WXeP0qtk1ppL38peQaL9ascyjN1w1pDkFcDm6o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1566305977; 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:ARC-Authentication-Results; bh=aJUhGMzstlMdgRHWkBDye64+jGJ78JzUdktuUbff+Jc=; b=b8Zg1qmefEtodvWSr9t5UijLUmt2vrRx2/MKYYuANplCV9kFt/wM9RiZJjuBzekKx0auUT3KpP9rYeksPkC0YVzl33cpv4yuXDRoEgzDYu89XqspTHL0S/5d89saaaxvXkrGfcj6VOfSCLJaGu70TbsIVanyBAwEoxViebeVODE= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass 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 1566305977734118.98130074845176; Tue, 20 Aug 2019 05:59:37 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 97CE43091786; Tue, 20 Aug 2019 12:59:36 +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 6F0C3179C4; Tue, 20 Aug 2019 12:59:36 +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 30D6E180BA9B; Tue, 20 Aug 2019 12:59:36 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x7KCxS4M023171 for ; Tue, 20 Aug 2019 08:59:28 -0400 Received: by smtp.corp.redhat.com (Postfix) id E276F18EEF; Tue, 20 Aug 2019 12:59:28 +0000 (UTC) Received: from icr.brq.redhat.com (unknown [10.43.2.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 208B887A1 for ; Tue, 20 Aug 2019 12:59:27 +0000 (UTC) From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Date: Tue, 20 Aug 2019 14:59:06 +0200 Message-Id: <3c47efc20e467fd3dd583ce91b8793d4ef099814.1566305923.git.jtomko@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 07/19] qemu_command: switch to VIR_AUTOCLEAN for virBuffer 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-Type: text/plain; charset="utf-8" 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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.41]); Tue, 20 Aug 2019 12:59:37 +0000 (UTC) Simplify the code by annotating all the temporary virBuffers with VIR_AUTOCLEAN. Signed-off-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 194 ++++++++++++++-------------------------- 1 file changed, 67 insertions(+), 127 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 60e00042c7..94a6ad546e 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -205,7 +205,7 @@ qemuBuildMasterKeyCommandLine(virCommandPtr cmd, int ret =3D -1; char *alias =3D NULL; char *path =3D NULL; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 /* If the -object secret does not exist, then just return. This just * means the domain won't be able to use a secret master key and is @@ -235,7 +235,6 @@ qemuBuildMasterKeyCommandLine(virCommandPtr cmd, ret =3D 0; =20 cleanup: - virBufferFreeAndReset(&buf); VIR_FREE(alias); VIR_FREE(path); return ret; @@ -737,7 +736,7 @@ static int qemuBuildObjectSecretCommandLine(virCommandPtr cmd, qemuDomainSecretInfoPtr secinfo) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; int ret =3D -1; virJSONValuePtr props =3D NULL; =20 @@ -753,7 +752,6 @@ qemuBuildObjectSecretCommandLine(virCommandPtr cmd, ret =3D 0; =20 cleanup: - virBufferFreeAndReset(&buf); virJSONValueFree(props); return ret; } @@ -935,7 +933,7 @@ qemuBuildTLSx509CommandLine(virCommandPtr cmd, const char *alias, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; int ret =3D -1; virJSONValuePtr props =3D NULL; =20 @@ -952,7 +950,6 @@ qemuBuildTLSx509CommandLine(virCommandPtr cmd, ret =3D 0; =20 cleanup: - virBufferFreeAndReset(&buf); virJSONValueFree(props); return ret; } @@ -988,7 +985,7 @@ qemuBuildNetworkDriveStr(virStorageSourcePtr src, qemuDomainSecretInfoPtr secinfo) { char *ret =3D NULL; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; size_t i; =20 switch ((virStorageNetProtocol) src->protocol) { @@ -1141,7 +1138,6 @@ qemuBuildNetworkDriveStr(virStorageSourcePtr src, } =20 cleanup: - virBufferFreeAndReset(&buf); =20 return ret; } @@ -1838,7 +1834,7 @@ static char * qemuBuildDriveStr(virDomainDiskDefPtr disk, virQEMUCapsPtr qemuCaps) { - virBuffer opt =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; int detect_zeroes =3D virDomainDiskGetDetectZeroesMode(disk->discard, disk->detect_zero= es); =20 @@ -1922,7 +1918,6 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk, return virBufferContentAndReset(&opt); =20 error: - virBufferFreeAndReset(&opt); return NULL; } =20 @@ -2005,7 +2000,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, unsigned int bootindex, virQEMUCapsPtr qemuCaps) { - virBuffer opt =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; const char *bus =3D virDomainDiskQEMUBusTypeToString(disk->bus); const char *contAlias; char *backendAlias =3D NULL; @@ -2343,14 +2338,13 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, =20 error: VIR_FREE(backendAlias); - virBufferFreeAndReset(&opt); return NULL; } =20 char * qemuBuildZPCIDevStr(virDomainDeviceInfoPtr dev) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 virBufferAsprintf(&buf, "zpci,uid=3D%u,fid=3D%u,target=3D%s,id=3Dzpci%u", @@ -2359,10 +2353,8 @@ qemuBuildZPCIDevStr(virDomainDeviceInfoPtr dev) dev->alias, dev->addr.pci.zpci.uid); =20 - if (virBufferCheckError(&buf) < 0) { - virBufferFreeAndReset(&buf); + if (virBufferCheckError(&buf) < 0) return NULL; - } =20 return virBufferContentAndReset(&buf); } @@ -2405,7 +2397,7 @@ qemuBuildFloppyCommandLineControllerOptions(virComman= dPtr cmd, virQEMUCapsPtr qemuCaps, unsigned int bootFloppy) { - virBuffer fdc_opts =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) fdc_opts =3D VIR_BUFFER_INITIALIZER; bool explicitfdc =3D qemuDomainNeedsFDC(def); bool hasfloppy =3D false; unsigned int bootindex; @@ -2485,7 +2477,6 @@ qemuBuildFloppyCommandLineControllerOptions(virComman= dPtr cmd, VIR_FREE(backendAlias); VIR_FREE(backendStr); VIR_FREE(bootindexStr); - virBufferFreeAndReset(&fdc_opts); return ret; } =20 @@ -2494,15 +2485,13 @@ static int qemuBuildObjectCommandline(virCommandPtr cmd, virJSONValuePtr objProps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (!objProps) return 0; =20 - if (virQEMUBuildObjectCommandlineFromJSON(&buf, objProps) < 0) { - virBufferFreeAndReset(&buf); + if (virQEMUBuildObjectCommandlineFromJSON(&buf, objProps) < 0) return -1; - } =20 virCommandAddArg(cmd, "-object"); virCommandAddArgBuffer(cmd, &buf); @@ -2939,7 +2928,7 @@ qemuBuildControllerDevStr(const virDomainDef *domainD= ef, virQEMUCapsPtr qemuCaps, char **devstr) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 *devstr =3D NULL; =20 @@ -3123,7 +3112,6 @@ qemuBuildControllerDevStr(const virDomainDef *domainD= ef, return 0; =20 error: - virBufferFreeAndReset(&buf); return -1; } =20 @@ -3749,7 +3737,7 @@ char * qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem, qemuDomainObjPrivatePtr priv) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; const char *device; =20 if (!mem->info.alias) { @@ -3835,7 +3823,7 @@ qemuBuildNicDevStr(virDomainDefPtr def, size_t vhostfdSize, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; bool usingVirtio =3D false; char macaddr[VIR_MAC_STRING_BUFLEN]; =20 @@ -3996,7 +3984,6 @@ qemuBuildNicDevStr(virDomainDefPtr def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4010,7 +3997,7 @@ qemuBuildHostNetStr(virDomainNetDefPtr net, size_t vhostfdSize) { bool is_tap =3D false; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virDomainNetType netType =3D virDomainNetGetActualType(net); virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); size_t i; @@ -4145,7 +4132,6 @@ qemuBuildHostNetStr(virDomainNetDefPtr net, =20 ret =3D virBufferContentAndReset(&buf); cleanup: - virBufferFreeAndReset(&buf); virObjectUnref(cfg); VIR_FREE(addr); return ret; @@ -4157,7 +4143,7 @@ qemuBuildWatchdogDevStr(const virDomainDef *def, virDomainWatchdogDefPtr dev, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 const char *model =3D virDomainWatchdogModelTypeToString(dev->model); if (!model) { @@ -4176,7 +4162,6 @@ qemuBuildWatchdogDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4230,7 +4215,7 @@ qemuBuildMemballoonCommandLine(virCommandPtr cmd, const virDomainDef *def, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (!virDomainDefHasMemballoon(def)) return 0; @@ -4261,7 +4246,6 @@ qemuBuildMemballoonCommandLine(virCommandPtr cmd, return 0; =20 error: - virBufferFreeAndReset(&buf); return -1; } =20 @@ -4269,7 +4253,7 @@ qemuBuildMemballoonCommandLine(virCommandPtr cmd, static char * qemuBuildNVRAMDevStr(virDomainNVRAMDefPtr dev) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (dev->info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO && dev->info.addr.spaprvio.has_reg) { @@ -4287,7 +4271,6 @@ qemuBuildNVRAMDevStr(virDomainNVRAMDefPtr dev) return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4330,7 +4313,7 @@ qemuBuildVirtioInputDevStr(const virDomainDef *def, virDomainInputDefPtr dev, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 switch ((virDomainInputType)dev->type) { case VIR_DOMAIN_INPUT_TYPE_MOUSE: @@ -4382,7 +4365,6 @@ qemuBuildVirtioInputDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4391,7 +4373,7 @@ qemuBuildUSBInputDevStr(const virDomainDef *def, virDomainInputDefPtr dev, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 switch (dev->type) { case VIR_DOMAIN_INPUT_TYPE_MOUSE: @@ -4420,7 +4402,6 @@ qemuBuildUSBInputDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4480,7 +4461,7 @@ qemuBuildSoundDevStr(const virDomainDef *def, virDomainSoundDefPtr sound, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; const char *model =3D NULL; =20 /* Hack for devices with different names in QEMU and libvirt */ @@ -4533,7 +4514,6 @@ qemuBuildSoundDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4559,7 +4539,7 @@ qemuBuildSoundCodecStr(virDomainSoundDefPtr sound, virDomainSoundCodecDefPtr codec, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; const char *stype; int type, flags; =20 @@ -4579,7 +4559,6 @@ qemuBuildSoundCodecStr(virDomainSoundDefPtr sound, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4653,7 +4632,7 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, virDomainVideoDefPtr video, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; const char *model; =20 /* We try to chose the best model for primary video device by preferri= ng @@ -4741,7 +4720,6 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4907,7 +4885,7 @@ qemuBuildPCIHostdevDevStr(const virDomainDef *def, const char *configfd, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virDomainHostdevSubsysPCIPtr pcisrc =3D &dev->source.subsys.u.pci; int backend =3D pcisrc->backend; =20 @@ -4955,7 +4933,6 @@ qemuBuildPCIHostdevDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -4965,7 +4942,7 @@ qemuBuildUSBHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virDomainHostdevSubsysUSBPtr usbsrc =3D &dev->source.subsys.u.usb; =20 if (!dev->missing && !usbsrc->bus && !usbsrc->device) { @@ -4992,7 +4969,6 @@ qemuBuildUSBHostdevDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -5002,7 +4978,7 @@ qemuBuildHubDevStr(const virDomainDef *def, virDomainHubDefPtr dev, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (dev->type !=3D VIR_DOMAIN_HUB_TYPE_USB) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, @@ -5028,7 +5004,6 @@ qemuBuildHubDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -5073,7 +5048,7 @@ qemuBuildSCSIiSCSIHostdevDrvStr(virDomainHostdevDefPt= r dev, virQEMUCapsPtr qemuCaps) { char *ret =3D NULL; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; char *netsource =3D NULL; virJSONValuePtr srcprops =3D NULL; virDomainHostdevSubsysSCSIPtr scsisrc =3D &dev->source.subsys.u.scsi; @@ -5105,7 +5080,6 @@ qemuBuildSCSIiSCSIHostdevDrvStr(virDomainHostdevDefPt= r dev, cleanup: VIR_FREE(netsource); virJSONValueFree(srcprops); - virBufferFreeAndReset(&buf); return ret; } =20 @@ -5115,7 +5089,7 @@ qemuBuildSCSIVHostHostdevDevStr(const virDomainDef *d= ef, virQEMUCapsPtr qemuCaps, char *vhostfdName) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virDomainHostdevSubsysSCSIVHostPtr hostsrc =3D &dev->source.subsys.u.s= csi_host; =20 if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VHOST_SCSI)) { @@ -5143,7 +5117,6 @@ qemuBuildSCSIVHostHostdevDevStr(const virDomainDef *d= ef, return virBufferContentAndReset(&buf); =20 cleanup: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -5151,7 +5124,7 @@ char * qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; char *source =3D NULL; char *drivealias =3D NULL; virDomainHostdevSubsysSCSIPtr scsisrc =3D &dev->source.subsys.u.scsi; @@ -5180,7 +5153,6 @@ qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, =20 return virBufferContentAndReset(&buf); error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -5188,7 +5160,7 @@ char * qemuBuildSCSIHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; int model =3D -1; char *driveAlias; const char *contAlias; @@ -5245,7 +5217,6 @@ qemuBuildSCSIHostdevDevStr(const virDomainDef *def, =20 return virBufferContentAndReset(&buf); error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -5390,7 +5361,7 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager, unsigned int flags) { qemuDomainChrSourcePrivatePtr chrSourcePriv =3D QEMU_DOMAIN_CHR_SOURCE= _PRIVATE(dev); - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; bool telnet; char *charAlias =3D NULL; char *ret =3D NULL; @@ -5581,7 +5552,6 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager, ret =3D virBufferContentAndReset(&buf); cleanup: VIR_FREE(charAlias); - virBufferFreeAndReset(&buf); return ret; } =20 @@ -5590,7 +5560,7 @@ qemuBuildHostdevMediatedDevStr(const virDomainDef *de= f, virDomainHostdevDefPtr dev, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virDomainHostdevSubsysMediatedDevPtr mdevsrc =3D &dev->source.subsys.u= .mdev; char *ret =3D NULL; char *mdevPath =3D NULL; @@ -5621,7 +5591,6 @@ qemuBuildHostdevMediatedDevStr(const virDomainDef *de= f, =20 cleanup: VIR_FREE(mdevPath); - virBufferFreeAndReset(&buf); return ret; } =20 @@ -5865,7 +5834,7 @@ static char * qemuBuildVirtioSerialPortDevStr(const virDomainDef *def, virDomainChrDefPtr dev) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; const char *contAlias; =20 switch (dev->deviceType) { @@ -5925,14 +5894,13 @@ qemuBuildVirtioSerialPortDevStr(const virDomainDef = *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 static char * qemuBuildSclpDevStr(virDomainChrDefPtr dev) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; if (dev->deviceType =3D=3D VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE) { switch (dev->targetType) { case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLP: @@ -5955,7 +5923,6 @@ qemuBuildSclpDevStr(virDomainChrDefPtr dev) return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -6064,7 +6031,7 @@ qemuBuildRNGDevStr(const virDomainDef *def, virDomainRNGDefPtr dev, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (!qemuDomainCheckCCWS390AddressSupport(def, &dev->info, qemuCaps, dev->source.file)) @@ -6097,7 +6064,6 @@ qemuBuildRNGDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -6166,7 +6132,7 @@ qemuBuildRNGCommandLine(virLogManagerPtr logManager, static char * qemuBuildSmbiosBiosStr(virSysinfoBIOSDefPtr def) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (!def) return NULL; @@ -6202,7 +6168,7 @@ static char * qemuBuildSmbiosSystemStr(virSysinfoSystemDefPtr def, bool skip_uuid) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (!def || (!def->manufacturer && !def->product && !def->version && @@ -6255,7 +6221,7 @@ qemuBuildSmbiosSystemStr(virSysinfoSystemDefPtr def, static char * qemuBuildSmbiosBaseBoardStr(virSysinfoBaseBoardDefPtr def) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (!def) return NULL; @@ -6297,7 +6263,6 @@ qemuBuildSmbiosBaseBoardStr(virSysinfoBaseBoardDefPtr= def) return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -6305,7 +6270,7 @@ qemuBuildSmbiosBaseBoardStr(virSysinfoBaseBoardDefPtr= def) static char * qemuBuildSmbiosOEMStringsStr(virSysinfoOEMStringsDefPtr def) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; size_t i; =20 if (!def) @@ -6325,7 +6290,7 @@ qemuBuildSmbiosOEMStringsStr(virSysinfoOEMStringsDefP= tr def) static char * qemuBuildSmbiosChassisStr(virSysinfoChassisDefPtr def) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (!def) return NULL; @@ -6362,7 +6327,6 @@ qemuBuildSmbiosChassisStr(virSysinfoChassisDefPtr def) return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -6454,7 +6418,7 @@ qemuBuildVMGenIDCommandLine(virCommandPtr cmd, const virDomainDef *def, virQEMUCapsPtr qemuCaps) { - virBuffer opts =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) opts =3D VIR_BUFFER_INITIALIZER; char guid[VIR_UUID_STRING_BUFLEN]; =20 if (!def->genidRequested) @@ -6505,7 +6469,7 @@ static char * qemuBuildClockArgStr(virDomainClockDefPtr def) { size_t i; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 switch (def->offset) { case VIR_DOMAIN_CLOCK_OFFSET_UTC: @@ -6616,7 +6580,6 @@ qemuBuildClockArgStr(virDomainClockDefPtr def) return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -6791,7 +6754,7 @@ qemuBuildBootCommandLine(virCommandPtr cmd, const virDomainDef *def, virQEMUCapsPtr qemuCaps) { - virBuffer boot_buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) boot_buf =3D VIR_BUFFER_INITIALIZER; char *boot_opts_str =3D NULL; =20 if (def->os.bootmenu) { @@ -6860,7 +6823,6 @@ qemuBuildBootCommandLine(virCommandPtr cmd, =20 error: VIR_FREE(boot_opts_str); - virBufferFreeAndReset(&boot_buf); return -1; } =20 @@ -7095,8 +7057,8 @@ qemuBuildCpuCommandLine(virCommandPtr cmd, virArch hostarch =3D virArchFromHost(); char *cpu =3D NULL, *cpu_flags =3D NULL; int ret =3D -1; - virBuffer cpu_buf =3D VIR_BUFFER_INITIALIZER; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) cpu_buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; size_t i; =20 if (def->cpu && @@ -7307,8 +7269,6 @@ qemuBuildCpuCommandLine(virCommandPtr cmd, cleanup: VIR_FREE(cpu); VIR_FREE(cpu_flags); - virBufferFreeAndReset(&buf); - virBufferFreeAndReset(&cpu_buf); return ret; } =20 @@ -7380,7 +7340,7 @@ qemuBuildNameCommandLine(virCommandPtr cmd, const virDomainDef *def, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 virCommandAddArg(cmd, "-name"); =20 @@ -7410,7 +7370,7 @@ qemuBuildMachineCommandLine(virCommandPtr cmd, virTristateSwitch vmport =3D def->features[VIR_DOMAIN_FEATURE_VMPORT]; virTristateSwitch smm =3D def->features[VIR_DOMAIN_FEATURE_SMM]; virCPUDefPtr cpu =3D def->cpu; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; size_t i; int ret =3D -1; =20 @@ -7690,7 +7650,6 @@ qemuBuildMachineCommandLine(virCommandPtr cmd, =20 ret =3D 0; cleanup: - virBufferFreeAndReset(&buf); return ret; } =20 @@ -7715,7 +7674,7 @@ qemuBuildSmpCommandLine(virCommandPtr cmd, virDomainDefPtr def) { char *smp; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; unsigned int maxvcpus =3D virDomainDefGetVcpusMax(def); unsigned int nvcpus =3D 0; virDomainVcpuDefPtr vcpu; @@ -7880,7 +7839,7 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg, { size_t i, j; virQEMUCapsPtr qemuCaps =3D priv->qemuCaps; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; char *cpumask =3D NULL; char *tmpmask =3D NULL; char *next =3D NULL; @@ -8028,7 +7987,6 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg, VIR_FREE(nodeBackends); } =20 - virBufferFreeAndReset(&buf); return ret; } =20 @@ -8044,7 +8002,7 @@ qemuBuildMemoryDeviceCommandLine(virCommandPtr cmd, /* memory hotplug requires NUMA to be enabled - we already checked * that memory devices are present only when NUMA is */ for (i =3D 0; i < def->nmems; i++) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; char *dimmStr; =20 if (qemuBuildMemoryDimmBackendStr(&buf, def->mems[i], def, cfg, pr= iv) < 0) @@ -8072,7 +8030,7 @@ qemuBuildGraphicsSDLCommandLine(virQEMUDriverConfigPt= r cfg ATTRIBUTE_UNUSED, virDomainGraphicsDefPtr graphics) { int ret =3D -1; - virBuffer opt =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; =20 if (graphics->data.sdl.xauth) virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.sdl.xauth); @@ -8111,7 +8069,6 @@ qemuBuildGraphicsSDLCommandLine(virQEMUDriverConfigPt= r cfg ATTRIBUTE_UNUSED, =20 ret =3D 0; cleanup: - virBufferFreeAndReset(&opt); return ret; } =20 @@ -8122,7 +8079,7 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPt= r cfg, virQEMUCapsPtr qemuCaps, virDomainGraphicsDefPtr graphics) { - virBuffer opt =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; virDomainGraphicsListenDefPtr glisten =3D NULL; bool escapeAddr; =20 @@ -8248,7 +8205,6 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPt= r cfg, return 0; =20 error: - virBufferFreeAndReset(&opt); return -1; } =20 @@ -8259,7 +8215,7 @@ qemuBuildGraphicsSPICECommandLine(virQEMUDriverConfig= Ptr cfg, virQEMUCapsPtr qemuCaps, virDomainGraphicsDefPtr graphics) { - virBuffer opt =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; virDomainGraphicsListenDefPtr glisten =3D NULL; int port =3D graphics->data.spice.port; int tlsPort =3D graphics->data.spice.tlsPort; @@ -8500,7 +8456,6 @@ qemuBuildGraphicsSPICECommandLine(virQEMUDriverConfig= Ptr cfg, return 0; =20 error: - virBufferFreeAndReset(&opt); return -1; } =20 @@ -8512,7 +8467,7 @@ qemuBuildGraphicsEGLHeadlessCommandLine(virQEMUDriver= ConfigPtr cfg ATTRIBUTE_UNU virDomainGraphicsDefPtr graphics) { int ret =3D -1; - virBuffer opt =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; =20 virBufferAddLit(&opt, "egl-headless"); =20 @@ -8537,7 +8492,6 @@ qemuBuildGraphicsEGLHeadlessCommandLine(virQEMUDriver= ConfigPtr cfg ATTRIBUTE_UNU =20 ret =3D 0; cleanup: - virBufferFreeAndReset(&opt); return ret; } =20 @@ -9086,7 +9040,7 @@ qemuBuildSmartcardCommandLine(virLogManagerPtr logMan= ager, size_t i; virDomainSmartcardDefPtr smartcard; char *devstr; - virBuffer opt =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) opt =3D VIR_BUFFER_INITIALIZER; const char *database; const char *contAlias =3D NULL; unsigned int cdevflags =3D QEMU_BUILD_CHARDEV_TCP_NOWAIT | @@ -9108,7 +9062,6 @@ qemuBuildSmartcardCommandLine(virLogManagerPtr logMan= ager, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("this QEMU binary lacks multiple smartcard " "support")); - virBufferFreeAndReset(&opt); return -1; } =20 @@ -9199,7 +9152,7 @@ qemuBuildShmemDevLegacyStr(virDomainDefPtr def, virDomainShmemDefPtr shmem, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -9237,7 +9190,6 @@ qemuBuildShmemDevLegacyStr(virDomainDefPtr def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -9246,7 +9198,7 @@ qemuBuildShmemDevStr(virDomainDefPtr def, virDomainShmemDefPtr shmem, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 if ((shmem->model =3D=3D VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_PLAIN && !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_PLAIN)) || @@ -9274,10 +9226,8 @@ qemuBuildShmemDevStr(virDomainDefPtr def, virTristateSwitchTypeToString(shmem->msi.ioevent= fd)); } =20 - if (qemuBuildDeviceAddressStr(&buf, def, &shmem->info, qemuCaps) < 0) { - virBufferFreeAndReset(&buf); + if (qemuBuildDeviceAddressStr(&buf, def, &shmem->info, qemuCaps) < 0) return NULL; - } =20 if (virBufferCheckError(&buf) < 0) return NULL; @@ -9323,7 +9273,7 @@ qemuBuildShmemCommandLine(virLogManagerPtr logManager, bool chardevStdioLogd) { virJSONValuePtr memProps =3D NULL; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; char *devstr =3D NULL; int rc; unsigned int cdevflags =3D QEMU_BUILD_CHARDEV_TCP_NOWAIT | @@ -9755,7 +9705,7 @@ qemuBuildRedirdevDevStr(const virDomainDef *def, virQEMUCapsPtr qemuCaps) { size_t i; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virDomainRedirFilterDefPtr redirfilter =3D def->redirfilter; =20 if (dev->bus !=3D VIR_DOMAIN_REDIRDEV_BUS_USB) { @@ -9825,7 +9775,6 @@ qemuBuildRedirdevDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -9877,7 +9826,7 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd, virDomainDefPtr def) { virDomainLoaderDefPtr loader =3D def->os.loader; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; int unit =3D 0; =20 if (!loader) @@ -9927,8 +9876,6 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd, /* nada */ break; } - - virBufferFreeAndReset(&buf); } =20 =20 @@ -9936,7 +9883,7 @@ static char * qemuBuildTPMDevStr(const virDomainDef *def, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; const virDomainTPMDef *tpm =3D def->tpm; const char *model =3D virDomainTPMModelTypeToString(tpm->model); virQEMUCapsFlags flag; @@ -9971,7 +9918,6 @@ qemuBuildTPMDevStr(const virDomainDef *def, return virBufferContentAndReset(&buf); =20 error: - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -10009,7 +9955,7 @@ qemuBuildTPMBackendStr(const virDomainDef *def, char **chardev) { const virDomainTPMDef *tpm =3D def->tpm; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; char *cancel_path =3D NULL; char *devset =3D NULL; char *cancelset =3D NULL; @@ -10068,8 +10014,6 @@ qemuBuildTPMBackendStr(const virDomainDef *def, error: VIR_FREE(devset); VIR_FREE(cancel_path); - - virBufferFreeAndReset(&buf); return NULL; } =20 @@ -10132,7 +10076,7 @@ static int qemuBuildSEVCommandLine(virDomainObjPtr vm, virCommandPtr cmd, virDomainSEVDefPtr sev) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; qemuDomainObjPrivatePtr priv =3D vm->privateData; char *path =3D NULL; int ret =3D -1; @@ -10165,7 +10109,6 @@ qemuBuildSEVCommandLine(virDomainObjPtr vm, virComm= andPtr cmd, virCommandAddArgBuffer(cmd, &buf); ret =3D 0; cleanup: - virBufferFreeAndReset(&buf); return ret; } =20 @@ -10350,7 +10293,7 @@ qemuBuildManagedPRCommandLine(virCommandPtr cmd, const virDomainDef *def, qemuDomainObjPrivatePtr priv) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virJSONValuePtr props =3D NULL; int ret =3D -1; =20 @@ -10368,7 +10311,6 @@ qemuBuildManagedPRCommandLine(virCommandPtr cmd, =20 ret =3D 0; cleanup: - virBufferFreeAndReset(&buf); virJSONValueFree(props); return ret; } @@ -10499,7 +10441,7 @@ qemuBuildVsockDevStr(virDomainDefPtr def, const char *fdprefix) { qemuDomainVsockPrivatePtr priv =3D (qemuDomainVsockPrivatePtr)vsock->p= rivateData; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; char *ret =3D NULL; =20 =20 @@ -10520,7 +10462,6 @@ qemuBuildVsockDevStr(virDomainDefPtr def, ret =3D virBufferContentAndReset(&buf); =20 cleanup: - virBufferFreeAndReset(&buf); return ret; } =20 @@ -10847,7 +10788,7 @@ qemuBuildSerialChrDeviceStr(char **deviceStr, virDomainChrDefPtr serial, virQEMUCapsPtr qemuCaps) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virQEMUCapsFlags caps; =20 switch ((virDomainChrSerialTargetModel) serial->targetModel) { @@ -10895,7 +10836,6 @@ qemuBuildSerialChrDeviceStr(char **deviceStr, return 0; =20 error: - virBufferFreeAndReset(&buf); return -1; } =20 --=20 2.19.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list