From nobody Sun Feb 8 05:27:13 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=1571170814; cv=none; d=zoho.com; s=zohoarc; b=QB/rFk9tRq0JoqfNDhyHxSMYUYcxrOjkd/f40OrntOXTrWAQjyNSFPuhGBuQeY2o0ChzbwtaP/03j3RUJH18SFF9DmEFX7gxDdO1w2zRdQ7MNFhk8bf+6frE00D3kSGs8Pz8QiRShrv3fKowAoGw3J4yMshINUxAwtO1gbI45Es= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571170814; 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=aenU1jGkiEq3uHnpdDnd19NHACLOjoOlvmbRd99V41A=; b=f3S7RICoz2PCsbTls++877Ijzh03MKOn8jnzy4bEXJs0kniEOnA2prPf1QN3R/H+sbLhMOBWHu0a9gV4I9sf9tFTDalNu6M7zmwTDwBiWyyjN77TBkb82MZRSocgZ76vJQtMs5Xjs0EXuY9Hl9xVKb4T7wXFxyA7+GMlLcXyD7U= 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 1571170814417632.2029313600901; Tue, 15 Oct 2019 13:20:14 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 676789D1D1; Tue, 15 Oct 2019 20:20:12 +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 38F7460605; Tue, 15 Oct 2019 20:20:12 +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 CDBD283544; Tue, 15 Oct 2019 20:20:11 +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 x9FK9EIh010253 for ; Tue, 15 Oct 2019 16:09:14 -0400 Received: by smtp.corp.redhat.com (Postfix) id 263FE5C553; Tue, 15 Oct 2019 20:09:14 +0000 (UTC) Received: from mx1.redhat.com (ext-mx07.extmail.prod.ext.phx2.redhat.com [10.5.110.31]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1DE095C1D6; Tue, 15 Oct 2019 20:09:13 +0000 (UTC) Received: from mail-qt1-f195.google.com (mail-qt1-f195.google.com [209.85.160.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 74581C04B940; Tue, 15 Oct 2019 20:09:12 +0000 (UTC) Received: by mail-qt1-f195.google.com with SMTP id n7so32478848qtb.6; Tue, 15 Oct 2019 13:09:12 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c7:d25e:a983:2b3:2523:a41]) by smtp.gmail.com with ESMTPSA id t199sm10089455qke.36.2019.10.15.13.09.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Oct 2019 13:09:10 -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=kxsTMvrJkcI6ZNtcrtQd4LO3NuIX+6X7y6CyV2aK9h0=; b=oXUXCiSiD4ejS5230JipAs1D7fJGBuzwk/TMUslzLJ9ufFEhrjdOyszusFthjrzTvx MnZw286ic2VfozfrWM1R10laOpluVzLkmcsGH+da9cPRRE1DdMwrG2y3c00tzgJUDokp NSZ8+JDRSKlbuWqPOyUF4Mqjv8fEyKsSU+qMDrrgSVuhAEgrnBhjJGNbECdAgFZ4GhtZ 6EGM+UtJdehvGPG3IRikvDGmvPe9cOWqJGAnozPRFCt4NMDqgirPEVvUSul92tH/o6ws NdWGPQos1uPGSias1DnNNikV+DkPcgyLj0MiGINyGPY8Rx+iPMhxQXdgxshx/Fhak5c3 j9SQ== 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=kxsTMvrJkcI6ZNtcrtQd4LO3NuIX+6X7y6CyV2aK9h0=; b=KAfqBzR+YqyjCZ/Pe2M5hxmpdGjOdg8hvtq9XsItz1Je9VTQe6PQPIaII6WDyPauBX JWadYgBjvrY8J6vTHQq8y8zWLP70mjVTvuqbZnQB/Sjs6Pi/qBDxaEoCVL2VsMcS7JP1 aEUuhVUwBiOjfyazB7pa1yyefKPH4p8RwJ2Na091y1GtOsuUZFDLjrXs/MItKz/g/A0z Uzqhm64x5hgcLDEYte91V7FpX1bW3kF3jCFBFg2OS5Q6ma1klPRP1EoxnpsPhws8VPfr EPEBQHQef5bcb/d+1diXzjJclPn3Q7t5DcFV0+1/wDnivABmXW7j7+EGlFV6GDgtv3on BepQ== X-Gm-Message-State: APjAAAXCi7/MJm4ZPBraH3b0b/gylEFVoQIIySmvaGhZlwj7IoQUhhxi k0epUWF3kFoJvHHSSGqRNlo2xpaR X-Google-Smtp-Source: APXvYqzFgK5JAxxB92v20OBhEgwppDYxtiPl3d22oSrKQCavF9LBVVauSKPC67MSVvLUxVpZhYJOIg== X-Received: by 2002:a0c:c792:: with SMTP id k18mr37251794qvj.154.1571170151276; Tue, 15 Oct 2019 13:09:11 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Tue, 15 Oct 2019 17:08:48 -0300 Message-Id: <20191015200852.15778-7-danielhb413@gmail.com> In-Reply-To: <20191015200852.15778-1-danielhb413@gmail.com> References: <20191015200852.15778-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.31]); Tue, 15 Oct 2019 20:09:12 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Tue, 15 Oct 2019 20:09:12 +0000 (UTC) for IP:'209.85.160.195' DOMAIN:'mail-qt1-f195.google.com' HELO:'mail-qt1-f195.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.195 mail-qt1-f195.google.com 209.85.160.195 mail-qt1-f195.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.31 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza , eskultet@redhat.com Subject: [libvirt] [PATCH v3 06/10] qemu_driver: use VIR_AUTOFREE() with 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.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 15 Oct 2019 20:20:13 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Using VIR_AUTOFREE() in all strings of qemu_driver.c make the code a bit tidier and smaller, sparing VIR_FREE() calls and sometimes a whole 'cleanup' label. This is a huge change due to the amount of char * declared in this file, thus let's split it in 3. This is the first part. Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_driver.c | 103 +++++++++++++---------------------------- 1 file changed, 33 insertions(+), 70 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index d95c5c5b81..f887a79ecd 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -381,11 +381,9 @@ qemuDomainSnapshotLoad(virDomainObjPtr vm, void *data) { char *baseDir =3D (char *)data; - char *snapDir =3D NULL; + VIR_AUTOFREE(char *) snapDir =3D NULL; DIR *dir =3D NULL; struct dirent *entry; - char *xmlStr; - char *fullpath; virDomainSnapshotDefPtr def =3D NULL; virDomainMomentObjPtr snap =3D NULL; virDomainMomentObjPtr current =3D NULL; @@ -420,6 +418,9 @@ qemuDomainSnapshotLoad(virDomainObjPtr vm, goto cleanup; =20 while ((direrr =3D virDirRead(dir, &entry, NULL)) > 0) { + VIR_AUTOFREE(char *) xmlStr =3D NULL; + VIR_AUTOFREE(char *) fullpath =3D NULL; + /* NB: ignoring errors, so one malformed config doesn't kill the whole process */ VIR_INFO("Loading snapshot file '%s'", entry->d_name); @@ -435,7 +436,6 @@ qemuDomainSnapshotLoad(virDomainObjPtr vm, virReportSystemError(errno, _("Failed to read snapshot file %s"), fullpath); - VIR_FREE(fullpath); continue; } =20 @@ -448,8 +448,6 @@ qemuDomainSnapshotLoad(virDomainObjPtr vm, virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to parse snapshot XML from file '%s'"= ), fullpath); - VIR_FREE(fullpath); - VIR_FREE(xmlStr); continue; } =20 @@ -463,9 +461,6 @@ qemuDomainSnapshotLoad(virDomainObjPtr vm, vm->def->name); current =3D snap; } - - VIR_FREE(fullpath); - VIR_FREE(xmlStr); } if (direrr < 0) virReportError(VIR_ERR_INTERNAL_ERROR, @@ -492,7 +487,6 @@ qemuDomainSnapshotLoad(virDomainObjPtr vm, ret =3D 0; cleanup: VIR_DIR_CLOSE(dir); - VIR_FREE(snapDir); virObjectUnlock(vm); return ret; } @@ -503,11 +497,9 @@ qemuDomainCheckpointLoad(virDomainObjPtr vm, void *data) { char *baseDir =3D (char *)data; - char *chkDir =3D NULL; + VIR_AUTOFREE(char *) chkDir =3D NULL; DIR *dir =3D NULL; struct dirent *entry; - char *xmlStr; - char *fullpath; virDomainCheckpointDefPtr def =3D NULL; virDomainMomentObjPtr chk =3D NULL; virDomainMomentObjPtr current =3D NULL; @@ -538,6 +530,9 @@ qemuDomainCheckpointLoad(virDomainObjPtr vm, goto cleanup; =20 while ((direrr =3D virDirRead(dir, &entry, NULL)) > 0) { + VIR_AUTOFREE(char *) xmlStr =3D NULL; + VIR_AUTOFREE(char *) fullpath =3D NULL; + /* NB: ignoring errors, so one malformed config doesn't kill the whole process */ VIR_INFO("Loading checkpoint file '%s'", entry->d_name); @@ -553,7 +548,6 @@ qemuDomainCheckpointLoad(virDomainObjPtr vm, virReportSystemError(errno, _("Failed to read checkpoint file %s"), fullpath); - VIR_FREE(fullpath); continue; } =20 @@ -566,8 +560,6 @@ qemuDomainCheckpointLoad(virDomainObjPtr vm, virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to parse checkpoint XML from file '%s= '"), fullpath); - VIR_FREE(fullpath); - VIR_FREE(xmlStr); virObjectUnref(def); continue; } @@ -575,9 +567,6 @@ qemuDomainCheckpointLoad(virDomainObjPtr vm, chk =3D virDomainCheckpointAssignDef(vm->checkpoints, def); if (chk =3D=3D NULL) virObjectUnref(def); - - VIR_FREE(fullpath); - VIR_FREE(xmlStr); } if (direrr < 0) virReportError(VIR_ERR_INTERNAL_ERROR, @@ -602,7 +591,6 @@ qemuDomainCheckpointLoad(virDomainObjPtr vm, ret =3D 0; cleanup: VIR_DIR_CLOSE(dir); - VIR_FREE(chkDir); virObjectUnlock(vm); return ret; } @@ -660,12 +648,11 @@ qemuStateInitialize(bool privileged, virStateInhibitCallback callback, void *opaque) { - char *driverConf =3D NULL; + VIR_AUTOFREE(char *) driverConf =3D NULL; virQEMUDriverConfigPtr cfg; uid_t run_uid =3D -1; gid_t run_gid =3D -1; - char *hugepagePath =3D NULL; - char *memoryBackingPath =3D NULL; + VIR_AUTOFREE(char *) memoryBackingPath =3D NULL; bool autostart =3D true; size_t i; =20 @@ -706,7 +693,6 @@ qemuStateInitialize(bool privileged, =20 if (virQEMUDriverConfigLoadFile(cfg, driverConf, privileged) < 0) goto error; - VIR_FREE(driverConf); =20 if (virQEMUDriverConfigValidate(cfg) < 0) goto error; @@ -830,7 +816,7 @@ qemuStateInitialize(bool privileged, goto error; =20 if (privileged) { - char *channeldir; + VIR_AUTOFREE(char *) channeldir =3D NULL; =20 if (chown(cfg->libDir, cfg->user, cfg->group) < 0) { virReportSystemError(errno, @@ -883,10 +869,8 @@ qemuStateInitialize(bool privileged, _("unable to set ownership of '%s' to %d:= %d"), channeldir, (int)cfg->user, (int)cfg->group); - VIR_FREE(channeldir); goto error; } - VIR_FREE(channeldir); if (chown(cfg->channelTargetDir, cfg->user, cfg->group) < 0) { virReportSystemError(errno, _("unable to set ownership of '%s' to %d:= %d"), @@ -937,6 +921,8 @@ qemuStateInitialize(bool privileged, * it, since we can't assume the root mount point has permissions that * will let our spawned QEMU instances use it. */ for (i =3D 0; i < cfg->nhugetlbfs; i++) { + VIR_AUTOFREE(char *) hugepagePath =3D NULL; + hugepagePath =3D qemuGetBaseHugepagePath(&cfg->hugetlbfs[i]); =20 if (!hugepagePath) @@ -952,7 +938,6 @@ qemuStateInitialize(bool privileged, virFileUpdatePerm(cfg->hugetlbfs[i].mnt_dir, 0, S_IXGRP | S_IXOTH) < 0) goto error; - VIR_FREE(hugepagePath); } =20 if (qemuGetMemoryBackingBasePath(cfg, &memoryBackingPath) < 0) @@ -969,7 +954,6 @@ qemuStateInitialize(bool privileged, virFileUpdatePerm(memoryBackingPath, 0, S_IXGRP | S_IXOTH) < 0) goto error; - VIR_FREE(memoryBackingPath); =20 if (!(qemu_driver->closeCallbacks =3D virCloseCallbacksNew())) goto error; @@ -1038,9 +1022,6 @@ qemuStateInitialize(bool privileged, return VIR_DRV_STATE_INIT_COMPLETE; =20 error: - VIR_FREE(driverConf); - VIR_FREE(hugepagePath); - VIR_FREE(memoryBackingPath); qemuStateCleanup(); return VIR_DRV_STATE_INIT_ERROR; } @@ -1365,8 +1346,8 @@ static int qemuGetSchedInfo(unsigned long long *cpuWait, pid_t pid, pid_t tid) { - char *proc =3D NULL; - char *data =3D NULL; + VIR_AUTOFREE(char *) proc =3D NULL; + VIR_AUTOFREE(char *) data =3D NULL; char **lines =3D NULL; size_t i; int ret =3D -1; @@ -1430,8 +1411,6 @@ qemuGetSchedInfo(unsigned long long *cpuWait, ret =3D 0; =20 cleanup: - VIR_FREE(data); - VIR_FREE(proc); virStringListFree(lines); return ret; } @@ -1441,7 +1420,7 @@ static int qemuGetProcessInfo(unsigned long long *cpuTime, int *lastCpu, long *vm_rss, pid_t pid, int tid) { - char *proc; + VIR_AUTOFREE(char *) proc =3D NULL; FILE *pidinfo; unsigned long long usertime =3D 0, systime =3D 0; long rss =3D 0; @@ -1458,7 +1437,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 */ @@ -2910,9 +2888,8 @@ virQEMUSaveDataWrite(virQEMUSaveDataPtr data, size_t len; size_t xml_len; size_t cookie_len =3D 0; - int ret =3D -1; size_t zerosLen =3D 0; - char *zeros =3D NULL; + VIR_AUTOFREE(char *) zeros =3D NULL; =20 xml_len =3D strlen(data->xml) + 1; if (data->cookie) @@ -2924,12 +2901,12 @@ virQEMUSaveDataWrite(virQEMUSaveDataPtr data, if (len > header->data_len) { virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("new xml too large to fit in file")); - goto cleanup; + return -1; } =20 zerosLen =3D header->data_len - len; if (VIR_ALLOC_N(zeros, zerosLen) < 0) - goto cleanup; + return -1; } else { header->data_len =3D len; } @@ -2941,14 +2918,14 @@ virQEMUSaveDataWrite(virQEMUSaveDataPtr data, virReportSystemError(errno, _("failed to write header to domain save file= '%s'"), path); - goto cleanup; + return -1; } =20 if (safewrite(fd, data->xml, xml_len) !=3D xml_len) { virReportSystemError(errno, _("failed to write domain xml to '%s'"), path); - goto cleanup; + return -1; } =20 if (data->cookie && @@ -2956,21 +2933,17 @@ virQEMUSaveDataWrite(virQEMUSaveDataPtr data, virReportSystemError(errno, _("failed to write cookie to '%s'"), path); - goto cleanup; + return -1; } =20 if (safewrite(fd, zeros, zerosLen) !=3D zerosLen) { virReportSystemError(errno, _("failed to write padding to '%s'"), path); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(zeros); - return ret; + return 0; } =20 =20 @@ -3300,7 +3273,7 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, int compressed, const char *compressedpath, const char *xmlin, unsigned int flags) { - char *xml =3D NULL; + VIR_AUTOFREE(char *) xml =3D NULL; bool was_running =3D false; int ret =3D -1; virObjectEventPtr event =3D NULL; @@ -3381,7 +3354,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); @@ -3416,7 +3388,6 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, qemuDomainRemoveInactiveJob(driver, vm); =20 cleanup: - VIR_FREE(xml); virQEMUSaveDataFree(data); virObjectEventStateQueue(driver->domainEventState, event); return ret; @@ -3504,7 +3475,7 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *pat= h, const char *dxml, { virQEMUDriverPtr driver =3D dom->conn->privateData; int compressed; - char *compressedpath =3D NULL; + VIR_AUTOFREE(char *) compressedpath =3D NULL; int ret =3D -1; virDomainObjPtr vm =3D NULL; VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; @@ -3533,7 +3504,6 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *pat= h, const char *dxml, =20 cleanup: virDomainObjEndAPI(&vm); - VIR_FREE(compressedpath); return ret; } =20 @@ -3561,9 +3531,9 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int = flags) virQEMUDriverPtr driver =3D dom->conn->privateData; VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; int compressed; - char *compressedpath =3D NULL; + VIR_AUTOFREE(char *) compressedpath =3D NULL; virDomainObjPtr vm; - char *name =3D NULL; + VIR_AUTOFREE(char *) name =3D NULL; int ret =3D -1; =20 virCheckFlags(VIR_DOMAIN_SAVE_BYPASS_CACHE | @@ -3603,8 +3573,6 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int = flags) =20 cleanup: virDomainObjEndAPI(&vm); - VIR_FREE(name); - VIR_FREE(compressedpath); =20 return ret; } @@ -3614,7 +3582,7 @@ qemuDomainManagedSaveLoad(virDomainObjPtr vm, void *opaque) { virQEMUDriverPtr driver =3D opaque; - char *name; + VIR_AUTOFREE(char *) name =3D NULL; int ret =3D -1; =20 virObjectLock(vm); @@ -3627,7 +3595,6 @@ qemuDomainManagedSaveLoad(virDomainObjPtr vm, ret =3D 0; cleanup: virObjectUnlock(vm); - VIR_FREE(name); return ret; } =20 @@ -3659,7 +3626,7 @@ qemuDomainManagedSaveRemove(virDomainPtr dom, unsigne= d int flags) virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; int ret =3D -1; - char *name =3D NULL; + VIR_AUTOFREE(char *) name =3D NULL; =20 virCheckFlags(0, -1); =20 @@ -3683,7 +3650,6 @@ qemuDomainManagedSaveRemove(virDomainPtr dom, unsigne= d int flags) ret =3D 0; =20 cleanup: - VIR_FREE(name); virDomainObjEndAPI(&vm); return ret; } @@ -3803,7 +3769,7 @@ doCoreDump(virQEMUDriverPtr driver, unsigned int flags =3D VIR_FILE_WRAPPER_NON_BLOCKING; const char *memory_dump_format =3D NULL; VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); - char *compressedpath =3D NULL; + VIR_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 @@ -3883,7 +3849,6 @@ doCoreDump(virQEMUDriverPtr driver, virFileWrapperFdFree(wrapperFd); if (ret !=3D 0) unlink(path); - VIR_FREE(compressedpath); return ret; } =20 @@ -4009,7 +3974,7 @@ qemuDomainScreenshot(virDomainPtr dom, virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; qemuDomainObjPrivatePtr priv; - char *tmp =3D NULL; + VIR_AUTOFREE(char *) tmp =3D NULL; int tmp_fd =3D -1; size_t i; const char *videoAlias =3D NULL; @@ -4101,7 +4066,6 @@ qemuDomainScreenshot(virDomainPtr dom, VIR_FORCE_CLOSE(tmp_fd); if (unlink_tmp) unlink(tmp); - VIR_FREE(tmp); =20 qemuDomainObjEndJob(driver, vm); =20 @@ -4115,7 +4079,7 @@ getAutoDumpPath(virQEMUDriverPtr driver, virDomainObjPtr vm) { char *dumpfile =3D NULL; - char *domname =3D virDomainDefGetShortName(vm->def); + VIR_AUTOFREE(char *domname) =3D virDomainDefGetShortName(vm->def); char timestr[100]; struct tm time_info; time_t curtime =3D time(NULL); @@ -4134,7 +4098,6 @@ getAutoDumpPath(virQEMUDriverPtr driver, domname, timestr)); =20 - VIR_FREE(domname); return dumpfile; } =20 --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list