From nobody Sat Feb 7 21:11:07 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=1571259300; cv=none; d=zoho.com; s=zohoarc; b=BAgvwPz2sYxJx8uuDozC8qq1ZPJMDn7ofP2PLk9B6uOjD2OVkB4UJ71Ypn21Wmr6A77gyClkK6f6gOxlNuyjSlozrjp36Y8Ddyh7G8hZfnlp6s3Q/XQgGKSHSUIe4f7ifZeBB1E0+s/GoTbO9SMppJ1EfLQAcmG5g8EW3jYW7+E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571259300; 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=yjyQRVSPtGlwRrcgc1ca7rfuTdu30GZQzNeyq//3IeQ=; b=hAKKAlpr6zxuQC6omPYTOWNFMyHw5T/08wZvsbrnqWQbqZaCbC8KHZIoYUpDUjBclFgLVzN5Jk1ngLBp3V2EY379aJM+tDM/AwqD/sIIf9YSy4t1vGVLfNd/9o0bDD2Tg0H0yuZNkRTRW/jAJ2GMA6zwE9z1qN2zIKx9bvLerik= 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 1571259300876310.0599301603985; Wed, 16 Oct 2019 13:55:00 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7DFD818CB90C; Wed, 16 Oct 2019 20:54:57 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3B3295C1D4; Wed, 16 Oct 2019 20:54:57 +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 336CB4E58B; Wed, 16 Oct 2019 20:54:56 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x9GKss6C018411 for ; Wed, 16 Oct 2019 16:54:54 -0400 Received: by smtp.corp.redhat.com (Postfix) id 98E5B5C231; Wed, 16 Oct 2019 20:54:54 +0000 (UTC) Received: from mx1.redhat.com (ext-mx08.extmail.prod.ext.phx2.redhat.com [10.5.110.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 661FE5C1D6; Wed, 16 Oct 2019 20:54:52 +0000 (UTC) Received: from mail-qk1-f195.google.com (mail-qk1-f195.google.com [209.85.222.195]) (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 6AB2EC057F23; Wed, 16 Oct 2019 20:54:50 +0000 (UTC) Received: by mail-qk1-f195.google.com with SMTP id e66so3578039qkf.13; Wed, 16 Oct 2019 13:54:50 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c7:d25e:a983:2b3:2523:a41]) by smtp.gmail.com with ESMTPSA id m125sm23965qkd.3.2019.10.16.13.54.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Oct 2019 13:54:48 -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=RwivzoJhwCOgH7GfX00bF40DZjEQ+NWlWp02aMqyQvs=; b=GybC3HSkOY1znCiWq/Wjd873p4yiWQrOuwOqoq7evJu433Ec9I/uv84rkp9NSgMxJQ 7S+xr/LAcowniCqjWvzUnNYjM3tvMdOw2n51zuP8ilUhK6vp3jYJywFP9kTZ/0i7Prcp QH2zwieB4bMVvJ2UahZ0RIzbI+fzBgA7c7zB73nfKmuZmebWNOIOcUAYwtb6Qrf+S41G 4YY5/XDq97BMob//9z4Vpazg468p+eoErcf4VjwpqcTvsWMTVT7lSsYyDgulWzuxCs2k E7p+kbYGYmYwdYrchRRbHYmNpzGa+rV0Q3sHFQ1N2TE3jxPF5tDIJanNnsrZOllzE1i1 Keuw== 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=RwivzoJhwCOgH7GfX00bF40DZjEQ+NWlWp02aMqyQvs=; b=QkVQ0weTC/4vnXUwGS85AmwJzPnSfDAiijWSsbW4bMA8AlZ97MR1P6ngytH0eLR3Dx fbea+1ap6JAyXlJH0xR+QWaqhvNlHLh6Sfj3YssIFhmoJXm6uYmA6++4CJiXP2htffO9 Mrw3+3YHuQ849cielSo3hz83Tdlw0SLUp3v2QA4M3unLVPgwGmPqjuAA4MFmx59R1jdH sRx2yuO4/wGSoWf56+/dF2yhD09Q7PWn+VZbSis+uBqyAybLKQ4kB1Vkd4NQg7Hr5dTO SiRJcAUjTokPpwvSEA+qrFrxq2ImOorp5ivDF+NlD7s9OGYt6wY4IapwFmdZtf65wHDr vDXQ== X-Gm-Message-State: APjAAAVWoo9Vqg5tZXIsY/bRAFlCkWtQoqB2zXd5vFZxQ1G1hIn9nR+T fnR+v2kdPV2lj1veDs6gPlosAKHW X-Google-Smtp-Source: APXvYqwNwWU+g44A/FhL0e4OCP0HYYj8grvF5gx2zArO2efh2MLo3KttM4qqhPVwOg4NJR7Q25LrGg== X-Received: by 2002:a37:9c14:: with SMTP id f20mr42894119qke.500.1571259289011; Wed, 16 Oct 2019 13:54:49 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Wed, 16 Oct 2019 17:54:31 -0300 Message-Id: <20191016205433.18341-4-danielhb413@gmail.com> In-Reply-To: <20191016205433.18341-1-danielhb413@gmail.com> References: <20191016205433.18341-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 16 Oct 2019 20:54:50 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 16 Oct 2019 20:54:50 +0000 (UTC) for IP:'209.85.222.195' DOMAIN:'mail-qk1-f195.google.com' HELO:'mail-qk1-f195.google.com' FROM:'danielhb413@gmail.com' RCPT:'' X-RedHat-Spam-Score: 0.15 (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS) 209.85.222.195 mail-qk1-f195.google.com 209.85.222.195 mail-qk1-f195.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.32 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza , jtomko@redhat.com, eskultet@redhat.com Subject: [libvirt] [PATCH v4 3/5] qemu_driver: use g_autofree when possible 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.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.63]); Wed, 16 Oct 2019 20:54:59 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" String and other scalar pointers an be auto-unref, sparing us a VIR_FREE() call. This patch uses g_autofree whenever possible with strings and other scalar pointer types. Suggested-by: Erik Skultety Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_driver.c | 203 ++++++++++++++--------------------------- 1 file changed, 68 insertions(+), 135 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index dc342734b1..d824992c16 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -1085,7 +1085,7 @@ qemuStateStop(void) size_t i; int state; virDomainPtr *domains =3D NULL; - unsigned int *flags =3D NULL; + g_autofree unsigned int *flags =3D NULL; g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(qemu_dri= ver); =20 if (!(conn =3D virConnectOpen(cfg->uri))) @@ -1123,7 +1123,6 @@ qemuStateStop(void) virObjectUnref(domains[i]); VIR_FREE(domains); } - VIR_FREE(flags); =20 return ret; } @@ -1357,8 +1356,8 @@ static int qemuGetSchedInfo(unsigned long long *cpuWait, pid_t pid, pid_t tid) { - char *proc =3D NULL; - char *data =3D NULL; + g_autofree char *proc =3D NULL; + g_autofree char *data =3D NULL; char **lines =3D NULL; size_t i; int ret =3D -1; @@ -1422,8 +1421,6 @@ qemuGetSchedInfo(unsigned long long *cpuWait, ret =3D 0; =20 cleanup: - VIR_FREE(data); - VIR_FREE(proc); virStringListFree(lines); return ret; } @@ -1433,7 +1430,7 @@ static int qemuGetProcessInfo(unsigned long long *cpuTime, int *lastCpu, long *vm_rss, pid_t pid, int tid) { - char *proc; + g_autofree char *proc =3D NULL; FILE *pidinfo; unsigned long long usertime =3D 0, systime =3D 0; long rss =3D 0; @@ -1450,7 +1447,6 @@ qemuGetProcessInfo(unsigned long long *cpuTime, int *= lastCpu, long *vm_rss, return -1; =20 pidinfo =3D fopen(proc, "r"); - VIR_FREE(proc); =20 /* See 'man proc' for information about what all these fields are. We'= re * only interested in a very few of them */ @@ -2908,7 +2904,7 @@ virQEMUSaveDataWrite(virQEMUSaveDataPtr data, size_t cookie_len =3D 0; int ret =3D -1; size_t zerosLen =3D 0; - char *zeros =3D NULL; + g_autofree char *zeros =3D NULL; =20 xml_len =3D strlen(data->xml) + 1; if (data->cookie) @@ -2965,7 +2961,6 @@ virQEMUSaveDataWrite(virQEMUSaveDataPtr data, ret =3D 0; =20 cleanup: - VIR_FREE(zeros); return ret; } =20 @@ -3300,7 +3295,7 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, int compressed, const char *compressedpath, const char *xmlin, unsigned int flags) { - char *xml =3D NULL; + g_autofree char *xml =3D NULL; bool was_running =3D false; int ret =3D -1; virObjectEventPtr event =3D NULL; @@ -3381,7 +3376,6 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, if (!(data =3D virQEMUSaveDataNew(xml, cookie, was_running, compressed, driver->xmlopt))) goto endjob; - xml =3D NULL; =20 ret =3D qemuDomainSaveMemory(driver, vm, path, data, compressedpath, flags, QEMU_ASYNC_JOB_SAVE); @@ -3417,7 +3411,6 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, =20 cleanup: virObjectUnref(cookie); - VIR_FREE(xml); virQEMUSaveDataFree(data); virObjectEventStateQueue(driver->domainEventState, event); return ret; @@ -3505,7 +3498,7 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *pat= h, const char *dxml, { virQEMUDriverPtr driver =3D dom->conn->privateData; int compressed; - char *compressedpath =3D NULL; + g_autofree char *compressedpath =3D NULL; int ret =3D -1; virDomainObjPtr vm =3D NULL; g_autoptr(virQEMUDriverConfig) cfg =3D NULL; @@ -3534,7 +3527,6 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *pat= h, const char *dxml, =20 cleanup: virDomainObjEndAPI(&vm); - VIR_FREE(compressedpath); return ret; } =20 @@ -3562,9 +3554,9 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int = flags) virQEMUDriverPtr driver =3D dom->conn->privateData; g_autoptr(virQEMUDriverConfig) cfg =3D NULL; int compressed; - char *compressedpath =3D NULL; + g_autofree char *compressedpath =3D NULL; virDomainObjPtr vm; - char *name =3D NULL; + g_autofree char *name =3D NULL; int ret =3D -1; =20 virCheckFlags(VIR_DOMAIN_SAVE_BYPASS_CACHE | @@ -3604,8 +3596,6 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int = flags) =20 cleanup: virDomainObjEndAPI(&vm); - VIR_FREE(name); - VIR_FREE(compressedpath); =20 return ret; } @@ -3615,7 +3605,7 @@ qemuDomainManagedSaveLoad(virDomainObjPtr vm, void *opaque) { virQEMUDriverPtr driver =3D opaque; - char *name; + g_autofree char *name =3D NULL; int ret =3D -1; =20 virObjectLock(vm); @@ -3628,7 +3618,6 @@ qemuDomainManagedSaveLoad(virDomainObjPtr vm, ret =3D 0; cleanup: virObjectUnlock(vm); - VIR_FREE(name); return ret; } =20 @@ -3660,7 +3649,7 @@ qemuDomainManagedSaveRemove(virDomainPtr dom, unsigne= d int flags) virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; int ret =3D -1; - char *name =3D NULL; + g_autofree char *name =3D NULL; =20 virCheckFlags(0, -1); =20 @@ -3684,7 +3673,6 @@ qemuDomainManagedSaveRemove(virDomainPtr dom, unsigne= d int flags) ret =3D 0; =20 cleanup: - VIR_FREE(name); virDomainObjEndAPI(&vm); return ret; } @@ -3804,7 +3792,7 @@ doCoreDump(virQEMUDriverPtr driver, unsigned int flags =3D VIR_FILE_WRAPPER_NON_BLOCKING; const char *memory_dump_format =3D NULL; g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver); - char *compressedpath =3D NULL; + g_autofree char *compressedpath =3D NULL; =20 /* We reuse "save" flag for "dump" here. Then, we can support the same * format in "save" and "dump". This path doesn't need the compression @@ -3884,7 +3872,6 @@ doCoreDump(virQEMUDriverPtr driver, virFileWrapperFdFree(wrapperFd); if (ret !=3D 0) unlink(path); - VIR_FREE(compressedpath); return ret; } =20 @@ -4010,7 +3997,7 @@ qemuDomainScreenshot(virDomainPtr dom, virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; qemuDomainObjPrivatePtr priv; - char *tmp =3D NULL; + g_autofree char *tmp =3D NULL; int tmp_fd =3D -1; size_t i; const char *videoAlias =3D NULL; @@ -4102,7 +4089,6 @@ qemuDomainScreenshot(virDomainPtr dom, VIR_FORCE_CLOSE(tmp_fd); if (unlink_tmp) unlink(tmp); - VIR_FREE(tmp); =20 qemuDomainObjEndJob(driver, vm); =20 @@ -4116,7 +4102,7 @@ getAutoDumpPath(virQEMUDriverPtr driver, virDomainObjPtr vm) { char *dumpfile =3D NULL; - char *domname =3D virDomainDefGetShortName(vm->def); + g_autofree char *domname =3D virDomainDefGetShortName(vm->def); char timestr[100]; struct tm time_info; time_t curtime =3D time(NULL); @@ -4135,7 +4121,6 @@ getAutoDumpPath(virQEMUDriverPtr driver, domname, timestr)); =20 - VIR_FREE(domname); return dumpfile; } =20 @@ -4146,11 +4131,11 @@ processWatchdogEvent(virQEMUDriverPtr driver, { int ret; g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver); - char *dumpfile =3D getAutoDumpPath(driver, vm); + g_autofree char *dumpfile =3D getAutoDumpPath(driver, vm); unsigned int flags =3D VIR_DUMP_MEMORY_ONLY; =20 if (!dumpfile) - goto cleanup; + return; =20 switch (action) { case VIR_DOMAIN_WATCHDOG_ACTION_DUMP: @@ -4158,7 +4143,7 @@ processWatchdogEvent(virQEMUDriverPtr driver, QEMU_ASYNC_JOB_DUMP, VIR_DOMAIN_JOB_OPERATION_DUMP, flags) < 0) { - goto cleanup; + return; } =20 if (virDomainObjCheckActive(vm) < 0) @@ -4179,14 +4164,11 @@ processWatchdogEvent(virQEMUDriverPtr driver, "%s", _("Resuming after dump failed")); break; default: - goto cleanup; + return; } =20 endjob: qemuDomainObjEndAsyncJob(driver, vm); - - cleanup: - VIR_FREE(dumpfile); } =20 static int @@ -4196,7 +4178,7 @@ doCoreDumpToAutoDumpPath(virQEMUDriverPtr driver, { int ret =3D -1; g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver); - char *dumpfile =3D getAutoDumpPath(driver, vm); + g_autofree char *dumpfile =3D getAutoDumpPath(driver, vm); =20 if (!dumpfile) goto cleanup; @@ -4207,7 +4189,6 @@ doCoreDumpToAutoDumpPath(virQEMUDriverPtr driver, virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("Dump failed")); cleanup: - VIR_FREE(dumpfile); return ret; } =20 @@ -4217,14 +4198,11 @@ qemuProcessGuestPanicEventInfo(virQEMUDriverPtr dri= ver, virDomainObjPtr vm, qemuMonitorEventPanicInfoPtr info) { - char *msg =3D qemuMonitorGuestPanicEventInfoFormatMsg(info); - char *timestamp =3D virTimeStringNow(); + g_autofree char *msg =3D qemuMonitorGuestPanicEventInfoFormatMsg(info); + g_autofree char *timestamp =3D virTimeStringNow(); =20 if (msg && timestamp) qemuDomainLogAppendMessage(driver, vm, "%s: panic %s\n", timestamp= , msg); - - VIR_FREE(timestamp); - VIR_FREE(msg); } =20 =20 @@ -5124,7 +5102,7 @@ qemuDomainPinVcpuLive(virDomainObjPtr vm, virDomainVcpuDefPtr vcpuinfo; qemuDomainObjPrivatePtr priv =3D vm->privateData; virCgroupPtr cgroup_vcpu =3D NULL; - char *str =3D NULL; + g_autofree char *str =3D NULL; virObjectEventPtr event =3D NULL; char paramField[VIR_TYPED_PARAM_FIELD_LENGTH] =3D ""; virTypedParameterPtr eventParams =3D NULL; @@ -5188,7 +5166,6 @@ qemuDomainPinVcpuLive(virDomainObjPtr vm, cleanup: virBitmapFree(tmpmap); virCgroupFree(&cgroup_vcpu); - VIR_FREE(str); virObjectEventStateQueue(driver->domainEventState, event); return ret; } @@ -5329,7 +5306,7 @@ qemuDomainPinEmulator(virDomainPtr dom, virBitmapPtr pcpumap =3D NULL; g_autoptr(virQEMUDriverConfig) cfg =3D NULL; virObjectEventPtr event =3D NULL; - char *str =3D NULL; + g_autofree char *str =3D NULL; virTypedParameterPtr eventParams =3D NULL; int eventNparams =3D 0; int eventMaxparams =3D 0; @@ -5418,7 +5395,6 @@ qemuDomainPinEmulator(virDomainPtr dom, if (cgroup_emulator) virCgroupFree(&cgroup_emulator); virObjectEventStateQueue(driver->domainEventState, event); - VIR_FREE(str); virBitmapFree(pcpumap); virDomainObjEndAPI(&vm); return ret; @@ -5800,7 +5776,7 @@ qemuDomainPinIOThread(virDomainPtr dom, virCgroupPtr cgroup_iothread =3D NULL; virObjectEventPtr event =3D NULL; char paramField[VIR_TYPED_PARAM_FIELD_LENGTH] =3D ""; - char *str =3D NULL; + g_autofree char *str =3D NULL; virTypedParameterPtr eventParams =3D NULL; int eventNparams =3D 0; int eventMaxparams =3D 0; @@ -5912,7 +5888,6 @@ qemuDomainPinIOThread(virDomainPtr dom, if (cgroup_iothread) virCgroupFree(&cgroup_iothread); virObjectEventStateQueue(driver->domainEventState, event); - VIR_FREE(str); virBitmapFree(pcpumap); virDomainObjEndAPI(&vm); return ret; @@ -5924,7 +5899,7 @@ qemuDomainHotplugAddIOThread(virQEMUDriverPtr driver, unsigned int iothread_id) { qemuDomainObjPrivatePtr priv =3D vm->privateData; - char *alias =3D NULL; + g_autofree char *alias =3D NULL; size_t idx; int ret =3D -1; unsigned int orig_niothreads =3D vm->def->niothreadids; @@ -6000,7 +5975,6 @@ qemuDomainHotplugAddIOThread(virQEMUDriverPtr driver, } virDomainAuditIOThread(vm, orig_niothreads, new_niothreads, "update", ret =3D=3D 0); - VIR_FREE(alias); virJSONValueFree(props); return ret; =20 @@ -6045,7 +6019,7 @@ qemuDomainHotplugDelIOThread(virQEMUDriverPtr driver, { qemuDomainObjPrivatePtr priv =3D vm->privateData; size_t idx; - char *alias =3D NULL; + g_autofree char *alias =3D NULL; int rc =3D -1; int ret =3D -1; unsigned int orig_niothreads =3D vm->def->niothreadids; @@ -6094,7 +6068,6 @@ qemuDomainHotplugDelIOThread(virQEMUDriverPtr driver, } virDomainAuditIOThread(vm, orig_niothreads, new_niothreads, "update", rc =3D=3D 0); - VIR_FREE(alias); return ret; =20 exit_monitor: @@ -6869,7 +6842,7 @@ qemuDomainSaveImageStartVM(virConnectPtr conn, virObjectEventPtr event; int intermediatefd =3D -1; virCommandPtr cmd =3D NULL; - char *errbuf =3D NULL; + g_autofree char *errbuf =3D NULL; g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver); virQEMUSaveHeaderPtr header =3D &data->header; qemuDomainSaveCookiePtr cookie =3D NULL; @@ -6989,7 +6962,6 @@ qemuDomainSaveImageStartVM(virConnectPtr conn, cleanup: virObjectUnref(cookie); virCommandFree(cmd); - VIR_FREE(errbuf); if (qemuSecurityRestoreSavedStateLabel(driver, vm, path) < 0) VIR_WARN("failed to restore save state label on %s", path); return ret; @@ -7005,7 +6977,7 @@ qemuDomainRestoreFlags(virConnectPtr conn, qemuDomainObjPrivatePtr priv =3D NULL; virDomainDefPtr def =3D NULL; virDomainObjPtr vm =3D NULL; - char *xmlout =3D NULL; + g_autofree char *xmlout =3D NULL; const char *newxml =3D dxml; int fd =3D -1; int ret =3D -1; @@ -7090,7 +7062,6 @@ qemuDomainRestoreFlags(virConnectPtr conn, ret =3D -1; virFileWrapperFdFree(wrapperFd); virQEMUSaveDataFree(data); - VIR_FREE(xmlout); if (vm && ret < 0) qemuDomainRemoveInactiveJob(driver, vm); virDomainObjEndAPI(&vm); @@ -7213,7 +7184,7 @@ qemuDomainManagedSaveGetXMLDesc(virDomainPtr dom, uns= igned int flags) { virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; - char *path =3D NULL; + g_autofree char *path =3D NULL; char *ret =3D NULL; virDomainDefPtr def =3D NULL; int fd =3D -1; @@ -7250,7 +7221,6 @@ qemuDomainManagedSaveGetXMLDesc(virDomainPtr dom, uns= igned int flags) virDomainDefFree(def); VIR_FORCE_CLOSE(fd); virDomainObjEndAPI(&vm); - VIR_FREE(path); return ret; } =20 @@ -7261,7 +7231,7 @@ qemuDomainManagedSaveDefineXML(virDomainPtr dom, cons= t char *dxml, virQEMUDriverPtr driver =3D dom->conn->privateData; virConnectPtr conn =3D dom->conn; virDomainObjPtr vm; - char *path =3D NULL; + g_autofree char *path =3D NULL; int ret =3D -1; =20 if (!(vm =3D qemuDomainObjFromDomain(dom))) @@ -7283,7 +7253,6 @@ qemuDomainManagedSaveDefineXML(virDomainPtr dom, cons= t char *dxml, =20 cleanup: virDomainObjEndAPI(&vm); - VIR_FREE(path); return ret; } =20 @@ -7302,7 +7271,7 @@ qemuDomainObjRestore(virConnectPtr conn, qemuDomainObjPrivatePtr priv =3D vm->privateData; int fd =3D -1; int ret =3D -1; - char *xmlout =3D NULL; + g_autofree char *xmlout =3D NULL; virQEMUSaveDataPtr data =3D NULL; virFileWrapperFdPtr wrapperFd =3D NULL; =20 @@ -7359,7 +7328,6 @@ qemuDomainObjRestore(virConnectPtr conn, =20 cleanup: virQEMUSaveDataFree(data); - VIR_FREE(xmlout); virDomainDefFree(def); VIR_FORCE_CLOSE(fd); if (virFileWrapperFdClose(wrapperFd) < 0) @@ -7524,7 +7492,7 @@ qemuDomainObjStart(virConnectPtr conn, qemuDomainAsyncJob asyncJob) { int ret =3D -1; - char *managed_save; + g_autofree char *managed_save =3D NULL; bool start_paused =3D (flags & VIR_DOMAIN_START_PAUSED) !=3D 0; bool autodestroy =3D (flags & VIR_DOMAIN_START_AUTODESTROY) !=3D 0; bool bypass_cache =3D (flags & VIR_DOMAIN_START_BYPASS_CACHE) !=3D 0; @@ -7598,7 +7566,6 @@ qemuDomainObjStart(virConnectPtr conn, } =20 cleanup: - VIR_FREE(managed_save); return ret; } =20 @@ -7746,7 +7713,7 @@ qemuDomainUndefineFlags(virDomainPtr dom, virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; virObjectEventPtr event =3D NULL; - char *name =3D NULL; + g_autofree char *name =3D NULL; int ret =3D -1; int nsnapshots; int ncheckpoints; @@ -7875,7 +7842,6 @@ qemuDomainUndefineFlags(virDomainPtr dom, qemuDomainObjEndJob(driver, vm); =20 cleanup: - VIR_FREE(name); virDomainObjEndAPI(&vm); virObjectEventStateQueue(driver->domainEventState, event); return ret; @@ -9213,7 +9179,8 @@ static int qemuDomainSetAutostart(virDomainPtr dom, { virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; - char *configFile =3D NULL, *autostartLink =3D NULL; + g_autofree char *configFile =3D NULL; + g_autofree char *autostartLink =3D NULL; int ret =3D -1; g_autoptr(virQEMUDriverConfig) cfg =3D NULL; =20 @@ -9277,8 +9244,6 @@ static int qemuDomainSetAutostart(virDomainPtr dom, ret =3D 0; =20 cleanup: - VIR_FREE(configFile); - VIR_FREE(autostartLink); virDomainObjEndAPI(&vm); return ret; } @@ -10058,7 +10023,7 @@ qemuDomainSetNumaParamsLive(virDomainObjPtr vm, { virCgroupPtr cgroup_temp =3D NULL; qemuDomainObjPrivatePtr priv =3D vm->privateData; - char *nodeset_str =3D NULL; + g_autofree char *nodeset_str =3D NULL; virDomainNumatuneMemMode mode; size_t i =3D 0; int ret =3D -1; @@ -10108,7 +10073,6 @@ qemuDomainSetNumaParamsLive(virDomainObjPtr vm, =20 ret =3D 0; cleanup: - VIR_FREE(nodeset_str); virCgroupFree(&cgroup_temp); =20 return ret; @@ -10251,7 +10215,7 @@ qemuDomainGetNumaParameters(virDomainPtr dom, virDomainObjPtr vm =3D NULL; virDomainNumatuneMemMode tmpmode =3D VIR_DOMAIN_NUMATUNE_MEM_STRICT; qemuDomainObjPrivatePtr priv; - char *nodeset =3D NULL; + g_autofree char *nodeset =3D NULL; int ret =3D -1; virDomainDefPtr def =3D NULL; bool live =3D false; @@ -10315,7 +10279,6 @@ qemuDomainGetNumaParameters(virDomainPtr dom, ret =3D 0; =20 cleanup: - VIR_FREE(nodeset); virDomainObjEndAPI(&vm); return ret; } @@ -11182,7 +11145,7 @@ qemuDomainBlockResize(virDomainPtr dom, virDomainObjPtr vm; qemuDomainObjPrivatePtr priv; int ret =3D -1; - char *device =3D NULL; + g_autofree char *device =3D NULL; const char *nodename =3D NULL; virDomainDiskDefPtr disk =3D NULL; =20 @@ -11254,7 +11217,6 @@ qemuDomainBlockResize(virDomainPtr dom, qemuDomainObjEndJob(driver, vm); =20 cleanup: - VIR_FREE(device); virDomainObjEndAPI(&vm); return ret; } @@ -11963,7 +11925,7 @@ qemuDomainBlockPeek(virDomainPtr dom, virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainDiskDefPtr disk =3D NULL; virDomainObjPtr vm; - char *tmpbuf =3D NULL; + g_autofree char *tmpbuf =3D NULL; ssize_t nread; int ret =3D -1; =20 @@ -12018,7 +11980,6 @@ qemuDomainBlockPeek(virDomainPtr dom, if (disk) virStorageFileDeinit(disk->src); virDomainObjEndAPI(&vm); - VIR_FREE(tmpbuf); return ret; } =20 @@ -12030,7 +11991,7 @@ qemuDomainMemoryPeek(virDomainPtr dom, { virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; - char *tmp =3D NULL; + g_autofree char *tmp =3D NULL; int fd =3D -1, ret =3D -1; qemuDomainObjPrivatePtr priv; g_autoptr(virQEMUDriverConfig) cfg =3D NULL; @@ -12102,7 +12063,6 @@ qemuDomainMemoryPeek(virDomainPtr dom, VIR_FORCE_CLOSE(fd); if (tmp) unlink(tmp); - VIR_FREE(tmp); virDomainObjEndAPI(&vm); return ret; } @@ -12268,7 +12228,7 @@ qemuStorageLimitsRefresh(virQEMUDriverPtr driver, int ret =3D -1; int fd =3D -1; struct stat sb; - char *buf =3D NULL; + g_autofree char *buf =3D NULL; ssize_t len; =20 if ((rc =3D qemuDomainStorageOpenStat(driver, cfg, vm, src, &fd, &sb, @@ -12304,7 +12264,6 @@ qemuStorageLimitsRefresh(virQEMUDriverPtr driver, ret =3D 1; =20 cleanup: - VIR_FREE(buf); qemuDomainStorageCloseStat(src, &fd); return ret; } @@ -12525,7 +12484,7 @@ qemuDomainMigratePrepareTunnel(virConnectPtr dconn, { virQEMUDriverPtr driver =3D dconn->privateData; virDomainDefPtr def =3D NULL; - char *origname =3D NULL; + g_autofree char *origname =3D NULL; qemuMigrationParamsPtr migParams =3D NULL; int ret =3D -1; =20 @@ -12560,7 +12519,6 @@ qemuDomainMigratePrepareTunnel(virConnectPtr dconn, =20 cleanup: qemuMigrationParamsFree(migParams); - VIR_FREE(origname); virDomainDefFree(def); return ret; } @@ -12582,7 +12540,7 @@ qemuDomainMigratePrepare2(virConnectPtr dconn, { virQEMUDriverPtr driver =3D dconn->privateData; virDomainDefPtr def =3D NULL; - char *origname =3D NULL; + g_autofree char *origname =3D NULL; qemuMigrationParamsPtr migParams =3D NULL; int ret =3D -1; =20 @@ -12627,7 +12585,6 @@ qemuDomainMigratePrepare2(virConnectPtr dconn, =20 cleanup: qemuMigrationParamsFree(migParams); - VIR_FREE(origname); virDomainDefFree(def); return ret; } @@ -12828,7 +12785,7 @@ qemuDomainMigratePrepare3(virConnectPtr dconn, { virQEMUDriverPtr driver =3D dconn->privateData; virDomainDefPtr def =3D NULL; - char *origname =3D NULL; + g_autofree char *origname =3D NULL; qemuMigrationParamsPtr migParams =3D NULL; int ret =3D -1; =20 @@ -12863,7 +12820,6 @@ qemuDomainMigratePrepare3(virConnectPtr dconn, =20 cleanup: qemuMigrationParamsFree(migParams); - VIR_FREE(origname); virDomainDefFree(def); return ret; } @@ -12889,7 +12845,7 @@ qemuDomainMigratePrepare3Params(virConnectPtr dconn, int nbdPort =3D 0; int nmigrate_disks; const char **migrate_disks =3D NULL; - char *origname =3D NULL; + g_autofree char *origname =3D NULL; qemuMigrationParamsPtr migParams =3D NULL; int ret =3D -1; =20 @@ -12952,7 +12908,6 @@ qemuDomainMigratePrepare3Params(virConnectPtr dconn, cleanup: qemuMigrationParamsFree(migParams); VIR_FREE(migrate_disks); - VIR_FREE(origname); virDomainDefFree(def); return ret; } @@ -12972,7 +12927,7 @@ qemuDomainMigratePrepareTunnel3(virConnectPtr dconn, { virQEMUDriverPtr driver =3D dconn->privateData; virDomainDefPtr def =3D NULL; - char *origname =3D NULL; + g_autofree char *origname =3D NULL; qemuMigrationParamsPtr migParams =3D NULL; int ret =3D -1; =20 @@ -13001,7 +12956,6 @@ qemuDomainMigratePrepareTunnel3(virConnectPtr dconn, =20 cleanup: qemuMigrationParamsFree(migParams); - VIR_FREE(origname); virDomainDefFree(def); return ret; } @@ -13021,7 +12975,7 @@ qemuDomainMigratePrepareTunnel3Params(virConnectPtr= dconn, virDomainDefPtr def =3D NULL; const char *dom_xml =3D NULL; const char *dname =3D NULL; - char *origname =3D NULL; + g_autofree char *origname =3D NULL; qemuMigrationParamsPtr migParams =3D NULL; int ret =3D -1; =20 @@ -13060,7 +13014,6 @@ qemuDomainMigratePrepareTunnel3Params(virConnectPtr= dconn, =20 cleanup: qemuMigrationParamsFree(migParams); - VIR_FREE(origname); virDomainDefFree(def); return ret; } @@ -13382,7 +13335,7 @@ qemuNodeDeviceDetachFlags(virNodeDevicePtr dev, unsigned domain =3D 0, bus =3D 0, slot =3D 0, function =3D 0; int ret =3D -1; virNodeDeviceDefPtr def =3D NULL; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; bool vfio =3D qemuHostdevHostSupportsPassthroughVFIO(); virHostdevManagerPtr hostdev_mgr =3D driver->hostdevMgr; =20 @@ -13432,7 +13385,6 @@ qemuNodeDeviceDetachFlags(virNodeDevicePtr dev, cleanup: virPCIDeviceFree(pci); virNodeDeviceDefFree(def); - VIR_FREE(xml); return ret; } =20 @@ -13450,7 +13402,7 @@ qemuNodeDeviceReAttach(virNodeDevicePtr dev) unsigned domain =3D 0, bus =3D 0, slot =3D 0, function =3D 0; int ret =3D -1; virNodeDeviceDefPtr def =3D NULL; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; virHostdevManagerPtr hostdev_mgr =3D driver->hostdevMgr; =20 xml =3D virNodeDeviceGetXMLDesc(dev, 0); @@ -13476,7 +13428,6 @@ qemuNodeDeviceReAttach(virNodeDevicePtr dev) virPCIDeviceFree(pci); cleanup: virNodeDeviceDefFree(def); - VIR_FREE(xml); return ret; } =20 @@ -13488,7 +13439,7 @@ qemuNodeDeviceReset(virNodeDevicePtr dev) unsigned domain =3D 0, bus =3D 0, slot =3D 0, function =3D 0; int ret =3D -1; virNodeDeviceDefPtr def =3D NULL; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; virHostdevManagerPtr hostdev_mgr =3D driver->hostdevMgr; =20 xml =3D virNodeDeviceGetXMLDesc(dev, 0); @@ -13514,7 +13465,6 @@ qemuNodeDeviceReset(virNodeDevicePtr dev) virPCIDeviceFree(pci); cleanup: virNodeDeviceDefFree(def); - VIR_FREE(xml); return ret; } =20 @@ -15355,7 +15305,6 @@ qemuDomainSnapshotDiskPrepareOne(virQEMUDriverPtr d= river, qemuDomainAsyncJob asyncJob) { qemuDomainObjPrivatePtr priv =3D vm->privateData; - char *backingStoreStr; virDomainDiskDefPtr persistdisk; g_autoptr(virStorageSource) terminator =3D NULL; bool supportsCreate; @@ -15401,13 +15350,13 @@ qemuDomainSnapshotDiskPrepareOne(virQEMUDriverPtr= driver, * block commit still works */ if (reuse) { if (supportsBacking) { + g_autofree char *backingStoreStr =3D NULL; + if (virStorageFileGetBackingStoreStr(dd->src, &backingStor= eStr) < 0) return -1; if (backingStoreStr !=3D NULL) { if (virStorageIsRelative(backingStoreStr)) VIR_STEAL_PTR(dd->relPath, backingStoreStr); - else - VIR_FREE(backingStoreStr); } } } else { @@ -15854,7 +15803,7 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain, { virQEMUDriverPtr driver =3D domain->conn->privateData; virDomainObjPtr vm =3D NULL; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; virDomainMomentObjPtr snap =3D NULL; virDomainSnapshotPtr snapshot =3D NULL; virDomainMomentObjPtr current =3D NULL; @@ -16135,7 +16084,6 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain, =20 cleanup: virDomainObjEndAPI(&vm); - VIR_FREE(xml); return snapshot; } =20 @@ -17922,7 +17870,7 @@ qemuDomainBlockJobSetSpeed(virDomainPtr dom, virDomainDiskDefPtr disk; int ret =3D -1; virDomainObjPtr vm; - char *device =3D NULL; + g_autofree char *device =3D NULL; unsigned long long speed =3D bandwidth; =20 virCheckFlags(VIR_DOMAIN_BLOCK_JOB_SPEED_BANDWIDTH_BYTES, -1); @@ -17967,7 +17915,6 @@ qemuDomainBlockJobSetSpeed(virDomainPtr dom, qemuDomainObjEndJob(driver, vm); =20 cleanup: - VIR_FREE(device); virDomainObjEndAPI(&vm); =20 return ret; @@ -19047,7 +18994,7 @@ qemuDomainSetBlockIoTune(virDomainPtr dom, virDomainDefPtr def =3D NULL; virDomainDefPtr persistentDef =3D NULL; virDomainBlockIoTuneInfo info; - char *drivealias =3D NULL; + g_autofree char *drivealias =3D NULL; const char *qdevid =3D NULL; int ret =3D -1; size_t i; @@ -19374,7 +19321,6 @@ qemuDomainSetBlockIoTune(virDomainPtr dom, =20 cleanup: VIR_FREE(info.group_name); - VIR_FREE(drivealias); virDomainObjEndAPI(&vm); if (eventNparams) virTypedParamsFree(eventParams, eventNparams); @@ -19395,7 +19341,7 @@ qemuDomainGetBlockIoTune(virDomainPtr dom, virDomainDefPtr def =3D NULL; virDomainDefPtr persistentDef =3D NULL; virDomainBlockIoTuneInfo reply =3D {0}; - char *drivealias =3D NULL; + g_autofree char *drivealias =3D NULL; const char *qdevid =3D NULL; int ret =3D -1; int maxparams; @@ -19532,7 +19478,6 @@ qemuDomainGetBlockIoTune(virDomainPtr dom, =20 cleanup: VIR_FREE(reply.group_name); - VIR_FREE(drivealias); virDomainObjEndAPI(&vm); return ret; } @@ -20812,7 +20757,7 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver, size_t i; int ret =3D -1; virVcpuInfoPtr cpuinfo =3D NULL; - unsigned long long *cpuwait =3D NULL; + g_autofree unsigned long long *cpuwait =3D NULL; =20 if (virTypedParamListAddUInt(params, virDomainDefGetVcpus(dom->def), "vcpu.current") < 0) @@ -20877,7 +20822,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver, =20 cleanup: VIR_FREE(cpuinfo); - VIR_FREE(cpuwait); return ret; } =20 @@ -21159,7 +21103,6 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDefP= tr disk, bool blockdev) =20 { - char *alias =3D NULL; virStorageSourcePtr n; const char *frontendalias; const char *backendalias; @@ -21181,6 +21124,8 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDefP= tr disk, } =20 for (n =3D disk->src; virStorageSourceIsBacking(n); n =3D n->backingSt= ore) { + g_autofree char *alias =3D NULL; + if (blockdev) { frontendalias =3D QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName; backendalias =3D n->nodeformat; @@ -21218,7 +21163,6 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDefP= tr disk, params) < 0) goto cleanup; =20 - VIR_FREE(alias); (*recordnr)++; =20 if (!visitBacking) @@ -21228,7 +21172,6 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDefP= tr disk, ret =3D 0; =20 cleanup: - VIR_FREE(alias); return ret; } =20 @@ -21945,12 +21888,12 @@ qemuDomainRenameCallback(virDomainObjPtr vm, virObjectEventPtr event_new =3D NULL; virObjectEventPtr event_old =3D NULL; int ret =3D -1; - char *new_dom_name =3D NULL; - char *old_dom_name =3D NULL; - char *new_dom_cfg_file =3D NULL; - char *old_dom_cfg_file =3D NULL; - char *new_dom_autostart_link =3D NULL; - char *old_dom_autostart_link =3D NULL; + g_autofree char *new_dom_name =3D NULL; + g_autofree char *old_dom_name =3D NULL; + g_autofree char *new_dom_cfg_file =3D NULL; + g_autofree char *old_dom_cfg_file =3D NULL; + g_autofree char *new_dom_autostart_link =3D NULL; + g_autofree char *old_dom_autostart_link =3D NULL; =20 virCheckFlags(0, ret); =20 @@ -22022,12 +21965,6 @@ qemuDomainRenameCallback(virDomainObjPtr vm, ret =3D 0; =20 cleanup: - VIR_FREE(old_dom_autostart_link); - VIR_FREE(new_dom_autostart_link); - VIR_FREE(old_dom_cfg_file); - VIR_FREE(new_dom_cfg_file); - VIR_FREE(old_dom_name); - VIR_FREE(new_dom_name); virObjectEventStateQueue(driver->domainEventState, event_old); virObjectEventStateQueue(driver->domainEventState, event_new); return ret; @@ -22132,7 +22069,7 @@ qemuDomainGetGuestVcpusParams(virTypedParameterPtr = *params, virBitmapPtr vcpus =3D NULL; virBitmapPtr online =3D NULL; virBitmapPtr offlinable =3D NULL; - char *tmp =3D NULL; + g_autofree char *tmp =3D NULL; size_t i; int ret =3D -1; =20 @@ -22161,7 +22098,6 @@ qemuDomainGetGuestVcpusParams(virTypedParameterPtr = *params, goto cleanup; \ if (virTypedParamsAddString(&par, &npar, &maxpar, #name, tmp) < 0) \ goto cleanup; \ - VIR_FREE(tmp) =20 ADD_BITMAP(vcpus); ADD_BITMAP(online); @@ -22175,7 +22111,6 @@ qemuDomainGetGuestVcpusParams(virTypedParameterPtr = *params, ret =3D 0; =20 cleanup: - VIR_FREE(tmp); virBitmapFree(vcpus); virBitmapFree(online); virBitmapFree(offlinable); @@ -22403,7 +22338,7 @@ qemuDomainSetBlockThreshold(virDomainPtr dom, qemuDomainObjPrivatePtr priv; virDomainObjPtr vm =3D NULL; virStorageSourcePtr src; - char *nodename =3D NULL; + g_autofree char *nodename =3D NULL; int rc; int ret =3D -1; =20 @@ -22457,7 +22392,6 @@ qemuDomainSetBlockThreshold(virDomainPtr dom, qemuDomainObjEndJob(driver, vm); =20 cleanup: - VIR_FREE(nodename); virDomainObjEndAPI(&vm); return ret; } @@ -22636,7 +22570,7 @@ qemuDomainGetSEVMeasurement(virQEMUDriverPtr driver, unsigned int flags) { int ret =3D -1; - char *tmp =3D NULL; + g_autofree char *tmp =3D NULL; int maxpar =3D 0; =20 virCheckFlags(VIR_TYPED_PARAM_STRING_OKAY, -1); @@ -22661,7 +22595,6 @@ qemuDomainGetSEVMeasurement(virQEMUDriverPtr driver, ret =3D 0; =20 endjob: - VIR_FREE(tmp); qemuDomainObjEndJob(driver, vm); return ret; } --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list