From nobody Sun Feb 8 19:39:54 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 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1549651089777197.98071414316246; Fri, 8 Feb 2019 10:38:09 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 56AC9C04D319; Fri, 8 Feb 2019 18:38:07 +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 F0C94106A7BC; Fri, 8 Feb 2019 18:38:06 +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 7B86818033AA; Fri, 8 Feb 2019 18:38:06 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x18Ibb3s007574 for ; Fri, 8 Feb 2019 13:37:37 -0500 Received: by smtp.corp.redhat.com (Postfix) id AC619BA53; Fri, 8 Feb 2019 18:37:37 +0000 (UTC) Received: from unknown0050b6a41c42.attlocal.net.com (ovpn-117-20.phx2.redhat.com [10.3.117.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3CC4860BE0; Fri, 8 Feb 2019 18:37:37 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Fri, 8 Feb 2019 13:37:01 -0500 Message-Id: <20190208183726.30903-8-jferlan@redhat.com> In-Reply-To: <20190208183726.30903-1-jferlan@redhat.com> References: <20190208183726.30903-1-jferlan@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: Erik Skultety Subject: [libvirt] [PATCH v2 07/32] conf: Introduce VIR_DEFINE_AUTOPTR_FUNC for virStorageVolDef 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.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Fri, 08 Feb 2019 18:38:08 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Let's make use of the auto __cleanup capabilities cleaning up any now unnecessary goto paths. Signed-off-by: John Ferlan Reviewed-by: Erik Skultety Reviewed-by: J=C3=A1n Tomko --- src/conf/storage_conf.c | 3 +-- src/conf/storage_conf.h | 1 + src/esx/esx_storage_backend_vmfs.c | 6 ++---- src/phyp/phyp_driver.c | 3 +-- src/storage/storage_backend_gluster.c | 3 +-- src/storage/storage_backend_iscsi_direct.c | 19 +++++++---------- src/storage/storage_backend_mpath.c | 24 ++++++++-------------- src/storage/storage_backend_rbd.c | 9 +++----- src/storage/storage_backend_sheepdog.c | 15 ++++++-------- src/storage/storage_driver.c | 6 ++---- src/storage/storage_util.c | 6 ++---- src/test/test_driver.c | 10 ++++----- src/vbox/vbox_storage.c | 3 +-- tests/storagebackendsheepdogtest.c | 3 +-- tests/storagevolxml2argvtest.c | 5 ++--- tests/storagevolxml2xmltest.c | 3 +-- 16 files changed, 44 insertions(+), 75 deletions(-) diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 0ebdbafa0c..e6accb14c6 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -1168,7 +1168,6 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, xmlXPathContextPtr ctxt, unsigned int flags) { - virStorageVolDefPtr def; virStorageVolDefPtr ret =3D NULL; virStorageVolOptionsPtr options; char *type =3D NULL; @@ -1180,6 +1179,7 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, xmlNodePtr *nodes =3D NULL; size_t i; int n; + VIR_AUTOPTR(virStorageVolDef) def =3D NULL; =20 virCheckFlags(VIR_VOL_XML_PARSE_NO_CAPACITY | VIR_VOL_XML_PARSE_OPT_CAPACITY, NULL); @@ -1331,7 +1331,6 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, VIR_STEAL_PTR(ret, def); =20 cleanup: - virStorageVolDefFree(def); VIR_FREE(nodes); VIR_FREE(allocation); VIR_FREE(capacity); diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index 3fa97bba76..b8e73864c4 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -461,5 +461,6 @@ VIR_ENUM_DECL(virStoragePartedFs); VIR_CONNECT_LIST_STORAGE_POOLS_FILTERS_POOL_TYPE) =20 VIR_DEFINE_AUTOPTR_FUNC(virStoragePoolSource, virStoragePoolSourceFree); +VIR_DEFINE_AUTOPTR_FUNC(virStorageVolDef, virStorageVolDefFree); =20 #endif /* LIBVIRT_STORAGE_CONF_H */ diff --git a/src/esx/esx_storage_backend_vmfs.c b/src/esx/esx_storage_backe= nd_vmfs.c index 8458d4e95c..6d6bd1a6ce 100644 --- a/src/esx/esx_storage_backend_vmfs.c +++ b/src/esx/esx_storage_backend_vmfs.c @@ -836,7 +836,6 @@ esxStorageVolCreateXML(virStoragePoolPtr pool, virStorageVolPtr volume =3D NULL; esxPrivate *priv =3D pool->conn->privateData; virStoragePoolDef poolDef; - virStorageVolDefPtr def =3D NULL; char *tmp; char *unescapedDatastorePath =3D NULL; char *unescapedDirectoryName =3D NULL; @@ -852,6 +851,7 @@ esxStorageVolCreateXML(virStoragePoolPtr pool, char *taskInfoErrorMessage =3D NULL; char *uuid_string =3D NULL; char *key =3D NULL; + VIR_AUTOPTR(virStorageVolDef) def =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -1024,7 +1024,6 @@ esxStorageVolCreateXML(virStoragePoolPtr pool, virtualDiskSpec->adapterType =3D NULL; } =20 - virStorageVolDefFree(def); VIR_FREE(unescapedDatastorePath); VIR_FREE(unescapedDirectoryName); VIR_FREE(unescapedDirectoryAndFileName); @@ -1054,7 +1053,6 @@ esxStorageVolCreateXMLFrom(virStoragePoolPtr pool, esxPrivate *priv =3D pool->conn->privateData; virStoragePoolDef poolDef; char *sourceDatastorePath =3D NULL; - virStorageVolDefPtr def =3D NULL; char *tmp; char *unescapedDatastorePath =3D NULL; char *unescapedDirectoryName =3D NULL; @@ -1069,6 +1067,7 @@ esxStorageVolCreateXMLFrom(virStoragePoolPtr pool, char *taskInfoErrorMessage =3D NULL; char *uuid_string =3D NULL; char *key =3D NULL; + VIR_AUTOPTR(virStorageVolDef) def =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -1207,7 +1206,6 @@ esxStorageVolCreateXMLFrom(virStoragePoolPtr pool, =20 cleanup: VIR_FREE(sourceDatastorePath); - virStorageVolDefFree(def); VIR_FREE(unescapedDatastorePath); VIR_FREE(unescapedDirectoryName); VIR_FREE(unescapedDirectoryAndFileName); diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c index 4ffa08ff43..cac5642afd 100644 --- a/src/phyp/phyp_driver.c +++ b/src/phyp/phyp_driver.c @@ -1952,11 +1952,11 @@ phypStorageVolCreateXML(virStoragePoolPtr pool, { virCheckFlags(0, NULL); =20 - virStorageVolDefPtr voldef =3D NULL; virStoragePoolDefPtr spdef =3D NULL; virStorageVolPtr vol =3D NULL; virStorageVolPtr dup_vol =3D NULL; char *key =3D NULL; + VIR_AUTOPTR(virStorageVolDef) voldef =3D NULL; =20 if (VIR_ALLOC(spdef) < 0) return NULL; @@ -2036,7 +2036,6 @@ phypStorageVolCreateXML(virStoragePoolPtr pool, =20 err: VIR_FREE(key); - virStorageVolDefFree(voldef); virStoragePoolDefFree(spdef); virObjectUnref(vol); return NULL; diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_ba= ckend_gluster.c index 6759d7f1e5..5428bb92ba 100644 --- a/src/storage/storage_backend_gluster.c +++ b/src/storage/storage_backend_gluster.c @@ -242,12 +242,12 @@ virStorageBackendGlusterRefreshVol(virStorageBackendG= lusterStatePtr state, virStorageVolDefPtr *volptr) { int ret =3D -1; - virStorageVolDefPtr vol =3D NULL; glfs_fd_t *fd =3D NULL; virStorageSourcePtr meta =3D NULL; char *header =3D NULL; ssize_t len; int backingFormat; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; =20 *volptr =3D NULL; =20 @@ -331,7 +331,6 @@ virStorageBackendGlusterRefreshVol(virStorageBackendGlu= sterStatePtr state, ret =3D 0; cleanup: virStorageSourceFree(meta); - virStorageVolDefFree(vol); if (fd) glfs_close(fd); VIR_FREE(header); diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/stora= ge_backend_iscsi_direct.c index 8d12c1a274..42060dd758 100644 --- a/src/storage/storage_backend_iscsi_direct.c +++ b/src/storage/storage_backend_iscsi_direct.c @@ -305,22 +305,21 @@ virISCSIDirectRefreshVol(virStoragePoolObjPtr pool, char *portal) { virStoragePoolDefPtr def =3D virStoragePoolObjGetDef(pool); - virStorageVolDefPtr vol =3D NULL; uint32_t block_size; uint32_t nb_block; - int ret =3D -1; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; =20 virStoragePoolObjClearVols(pool); if (virISCSIDirectTestUnitReady(iscsi, lun) < 0) - goto cleanup; + return -1; =20 if (VIR_ALLOC(vol) < 0) - goto cleanup; + return -1; =20 vol->type =3D VIR_STORAGE_VOL_NETWORK; =20 if (virISCSIDirectGetVolumeCapacity(iscsi, lun, &block_size, &nb_block= ) < 0) - goto cleanup; + return -1; =20 vol->target.capacity =3D block_size * nb_block; vol->target.allocation =3D block_size * nb_block; @@ -328,17 +327,13 @@ virISCSIDirectRefreshVol(virStoragePoolObjPtr pool, def->allocation +=3D vol->target.allocation; =20 if (virISCSIDirectSetVolumeAttributes(pool, vol, lun, portal) < 0) - goto cleanup; + return -1; =20 if (virStoragePoolObjAddVol(pool, vol) < 0) - goto cleanup; - + return -1; vol =3D NULL; =20 - ret =3D 0; - cleanup: - virStorageVolDefFree(vol); - return ret; + return 0; } =20 static int diff --git a/src/storage/storage_backend_mpath.c b/src/storage/storage_back= end_mpath.c index b3a49ee1b2..423f945fbc 100644 --- a/src/storage/storage_backend_mpath.c +++ b/src/storage/storage_backend_mpath.c @@ -46,42 +46,36 @@ virStorageBackendMpathNewVol(virStoragePoolObjPtr pool, const char *dev) { virStoragePoolDefPtr def =3D virStoragePoolObjGetDef(pool); - virStorageVolDefPtr vol; - int ret =3D -1; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; =20 if (VIR_ALLOC(vol) < 0) - goto cleanup; + return -1; =20 vol->type =3D VIR_STORAGE_VOL_BLOCK; =20 if (virAsprintf(&(vol->name), "dm-%u", devnum) < 0) - goto cleanup; + return -1; =20 if (virAsprintf(&vol->target.path, "/dev/%s", dev) < 0) - goto cleanup; + return -1; =20 if (virStorageBackendUpdateVolInfo(vol, true, VIR_STORAGE_VOL_OPEN_DEFAULT, 0) < = 0) { - goto cleanup; + return -1; } =20 /* XXX should use logical unit's UUID instead */ if (VIR_STRDUP(vol->key, vol->target.path) < 0) - goto cleanup; + return -1; =20 if (virStoragePoolObjAddVol(pool, vol) < 0) - goto cleanup; + return -1; =20 def->capacity +=3D vol->target.capacity; def->allocation +=3D vol->target.allocation; - ret =3D 0; - - cleanup: + vol =3D NULL; =20 - if (ret !=3D 0) - virStorageVolDefFree(vol); - - return ret; + return 0; } =20 =20 diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backen= d_rbd.c index cfbce1ad19..ece04f0f2d 100644 --- a/src/storage/storage_backend_rbd.c +++ b/src/storage/storage_backend_rbd.c @@ -618,7 +618,7 @@ virStorageBackendRBDRefreshPool(virStoragePoolObjPtr po= ol) } =20 for (name =3D names; name < names + max_size;) { - virStorageVolDefPtr vol; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; =20 if (STREQ(name, "")) break; @@ -626,10 +626,8 @@ virStorageBackendRBDRefreshPool(virStoragePoolObjPtr p= ool) if (VIR_ALLOC(vol) < 0) goto cleanup; =20 - if (VIR_STRDUP(vol->name, name) < 0) { - VIR_FREE(vol); + if (VIR_STRDUP(vol->name, name) < 0) goto cleanup; - } =20 name +=3D strlen(name) + 1; =20 @@ -648,15 +646,14 @@ virStorageBackendRBDRefreshPool(virStoragePoolObjPtr = pool) if (r =3D=3D -ENOENT || r =3D=3D -ETIMEDOUT) continue; =20 - virStorageVolDefFree(vol); goto cleanup; } =20 if (virStoragePoolObjAddVol(pool, vol) < 0) { - virStorageVolDefFree(vol); virStoragePoolObjClearVols(pool); goto cleanup; } + vol =3D NULL; } =20 VIR_DEBUG("Found %zu images in RBD pool %s", diff --git a/src/storage/storage_backend_sheepdog.c b/src/storage/storage_b= ackend_sheepdog.c index b6f424bea1..7cba6e02aa 100644 --- a/src/storage/storage_backend_sheepdog.c +++ b/src/storage/storage_backend_sheepdog.c @@ -110,30 +110,27 @@ virStorageBackendSheepdogAddHostArg(virCommandPtr cmd, static int virStorageBackendSheepdogAddVolume(virStoragePoolObjPtr pool, const char *= diskInfo) { - virStorageVolDefPtr vol =3D NULL; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; =20 if (diskInfo =3D=3D NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Missing disk info when adding volume")); - goto error; + return -1; } =20 if (VIR_ALLOC(vol) < 0 || VIR_STRDUP(vol->name, diskInfo) < 0) - goto error; + return -1; =20 vol->type =3D VIR_STORAGE_VOL_NETWORK; =20 if (virStorageBackendSheepdogRefreshVol(pool, vol) < 0) - goto error; + return -1; =20 if (virStoragePoolObjAddVol(pool, vol) < 0) - goto error; + return -1; + vol =3D NULL; =20 return 0; - - error: - virStorageVolDefFree(vol); - return -1; } =20 static int diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 878a40cac5..c50a8ef5d4 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1820,8 +1820,8 @@ storageVolCreateXML(virStoragePoolPtr pool, virStoragePoolObjPtr obj; virStoragePoolDefPtr def; virStorageBackendPtr backend; - virStorageVolDefPtr voldef =3D NULL; virStorageVolPtr vol =3D NULL, newvol =3D NULL; + VIR_AUTOPTR(virStorageVolDef) voldef =3D NULL; =20 virCheckFlags(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA, NULL); =20 @@ -1941,7 +1941,6 @@ storageVolCreateXML(virStoragePoolPtr pool, =20 cleanup: virObjectUnref(newvol); - virStorageVolDefFree(voldef); virStoragePoolObjEndAPI(&obj); return vol; } @@ -1957,11 +1956,11 @@ storageVolCreateXMLFrom(virStoragePoolPtr pool, virStoragePoolObjPtr objsrc =3D NULL; virStorageBackendPtr backend; virStorageVolDefPtr voldefsrc =3D NULL; - virStorageVolDefPtr voldef =3D NULL; virStorageVolDefPtr shadowvol =3D NULL; virStorageVolPtr newvol =3D NULL; virStorageVolPtr vol =3D NULL; int buildret; + VIR_AUTOPTR(virStorageVolDef) voldef =3D NULL; =20 virCheckFlags(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA | VIR_STORAGE_VOL_CREATE_REFLINK, @@ -2134,7 +2133,6 @@ storageVolCreateXMLFrom(virStoragePoolPtr pool, =20 cleanup: virObjectUnref(newvol); - virStorageVolDefFree(voldef); VIR_FREE(shadowvol); virStoragePoolObjEndAPI(&obj); virStoragePoolObjEndAPI(&objsrc); diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 95e05d950b..1770d21f33 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -3672,10 +3672,10 @@ virStorageBackendRefreshLocal(virStoragePoolObjPtr = pool) struct dirent *ent; struct statvfs sb; struct stat statbuf; - virStorageVolDefPtr vol =3D NULL; virStorageSourcePtr target =3D NULL; int direrr; int fd =3D -1, ret =3D -1; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; =20 if (virDirOpen(&dir, def->target.path) < 0) goto cleanup; @@ -3767,7 +3767,6 @@ virStorageBackendRefreshLocal(virStoragePoolObjPtr po= ol) cleanup: VIR_DIR_CLOSE(dir); VIR_FORCE_CLOSE(fd); - virStorageVolDefFree(vol); virStorageSourceFree(target); if (ret < 0) virStoragePoolObjClearVols(pool); @@ -3816,9 +3815,9 @@ virStorageBackendSCSINewLun(virStoragePoolObjPtr pool, const char *dev) { virStoragePoolDefPtr def =3D virStoragePoolObjGetDef(pool); - virStorageVolDefPtr vol =3D NULL; char *devpath =3D NULL; int retval =3D -1; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; =20 /* Check if the pool is using a stable target path. The call to * virStorageBackendStablePath will fail if the pool target path @@ -3898,7 +3897,6 @@ virStorageBackendSCSINewLun(virStoragePoolObjPtr pool, retval =3D 0; =20 cleanup: - virStorageVolDefFree(vol); VIR_FREE(devpath); return retval; } diff --git a/src/test/test_driver.c b/src/test/test_driver.c index de221b4190..f07a075755 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1025,7 +1025,7 @@ testOpenVolumesForPool(const char *file, size_t i; int num, ret =3D -1; xmlNodePtr *nodes =3D NULL; - virStorageVolDefPtr volDef =3D NULL; + VIR_AUTOPTR(virStorageVolDef) volDef =3D NULL; =20 /* Find storage volumes */ if (virAsprintf(&vol_xpath, "/node/pool[%d]/volume", objidx) < 0) @@ -1064,7 +1064,6 @@ testOpenVolumesForPool(const char *file, =20 ret =3D 0; error: - virStorageVolDefFree(volDef); VIR_FREE(nodes); return ret; } @@ -5053,8 +5052,8 @@ testStorageVolCreateXML(virStoragePoolPtr pool, testDriverPtr privconn =3D pool->conn->privateData; virStoragePoolObjPtr obj; virStoragePoolDefPtr def; - virStorageVolDefPtr privvol =3D NULL; virStorageVolPtr ret =3D NULL; + VIR_AUTOPTR(virStorageVolDef) privvol =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -5098,7 +5097,6 @@ testStorageVolCreateXML(virStoragePoolPtr pool, privvol =3D NULL; =20 cleanup: - virStorageVolDefFree(privvol); virStoragePoolObjEndAPI(&obj); return ret; } @@ -5113,8 +5111,9 @@ testStorageVolCreateXMLFrom(virStoragePoolPtr pool, testDriverPtr privconn =3D pool->conn->privateData; virStoragePoolObjPtr obj; virStoragePoolDefPtr def; - virStorageVolDefPtr privvol =3D NULL, origvol =3D NULL; + virStorageVolDefPtr origvol =3D NULL; virStorageVolPtr ret =3D NULL; + VIR_AUTOPTR(virStorageVolDef) privvol =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -5166,7 +5165,6 @@ testStorageVolCreateXMLFrom(virStoragePoolPtr pool, privvol =3D NULL; =20 cleanup: - virStorageVolDefFree(privvol); virStoragePoolObjEndAPI(&obj); return ret; } diff --git a/src/vbox/vbox_storage.c b/src/vbox/vbox_storage.c index 7047e54084..ae16094dbe 100644 --- a/src/vbox/vbox_storage.c +++ b/src/vbox/vbox_storage.c @@ -401,7 +401,6 @@ vboxStorageVolCreateXML(virStoragePoolPtr pool, const char *xml, unsigned int flags) { vboxDriverPtr data =3D pool->conn->privateData; - virStorageVolDefPtr def =3D NULL; PRUnichar *hddFormatUtf16 =3D NULL; PRUnichar *hddNameUtf16 =3D NULL; virStoragePoolDef poolDef; @@ -415,6 +414,7 @@ vboxStorageVolCreateXML(virStoragePoolPtr pool, PRUint32 variant =3D HardDiskVariant_Standard; resultCodeUnion resultCode; virStorageVolPtr ret =3D NULL; + VIR_AUTOPTR(virStorageVolDef) def =3D NULL; =20 if (!data->vboxObj) return ret; @@ -501,7 +501,6 @@ vboxStorageVolCreateXML(virStoragePoolPtr pool, VBOX_RELEASE(progress); VBOX_UTF16_FREE(hddFormatUtf16); VBOX_UTF16_FREE(hddNameUtf16); - virStorageVolDefFree(def); return ret; } =20 diff --git a/tests/storagebackendsheepdogtest.c b/tests/storagebackendsheep= dogtest.c index 616af22d73..540f89c3ab 100644 --- a/tests/storagebackendsheepdogtest.c +++ b/tests/storagebackendsheepdogtest.c @@ -94,7 +94,7 @@ test_vdi_list_parser(const void *opaque) int ret =3D -1; char *output =3D NULL; virStoragePoolDefPtr pool =3D NULL; - virStorageVolDefPtr vol =3D NULL; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; =20 if (!(pool =3D virStoragePoolDefParseFile(data->poolxml))) goto cleanup; @@ -121,7 +121,6 @@ test_vdi_list_parser(const void *opaque) cleanup: VIR_FREE(output); virStoragePoolDefFree(pool); - virStorageVolDefFree(vol); return ret; } =20 diff --git a/tests/storagevolxml2argvtest.c b/tests/storagevolxml2argvtest.c index bc2da37410..4c98decc4d 100644 --- a/tests/storagevolxml2argvtest.c +++ b/tests/storagevolxml2argvtest.c @@ -48,10 +48,11 @@ testCompareXMLToArgvFiles(bool shouldFail, =20 virCommandPtr cmd =3D NULL; =20 - virStorageVolDefPtr vol =3D NULL, inputvol =3D NULL; virStoragePoolDefPtr def =3D NULL; virStoragePoolDefPtr inputpool =3D NULL; virStoragePoolObjPtr obj =3D NULL; + VIR_AUTOPTR(virStorageVolDef) vol =3D NULL; + VIR_AUTOPTR(virStorageVolDef) inputvol =3D NULL; =20 if (!(def =3D virStoragePoolDefParseFile(poolxml))) goto cleanup; @@ -139,8 +140,6 @@ testCompareXMLToArgvFiles(bool shouldFail, =20 cleanup: virStoragePoolDefFree(inputpool); - virStorageVolDefFree(vol); - virStorageVolDefFree(inputvol); virCommandFree(cmd); VIR_FREE(actualCmdline); virStoragePoolObjEndAPI(&obj); diff --git a/tests/storagevolxml2xmltest.c b/tests/storagevolxml2xmltest.c index 040bbc7585..95e205a0ab 100644 --- a/tests/storagevolxml2xmltest.c +++ b/tests/storagevolxml2xmltest.c @@ -20,7 +20,7 @@ testCompareXMLToXMLFiles(const char *poolxml, const char = *inxml, char *actual =3D NULL; int ret =3D -1; virStoragePoolDefPtr pool =3D NULL; - virStorageVolDefPtr dev =3D NULL; + VIR_AUTOPTR(virStorageVolDef) dev =3D NULL; =20 if (!(pool =3D virStoragePoolDefParseFile(poolxml))) goto fail; @@ -39,7 +39,6 @@ testCompareXMLToXMLFiles(const char *poolxml, const char = *inxml, fail: VIR_FREE(actual); virStoragePoolDefFree(pool); - virStorageVolDefFree(dev); return ret; } =20 --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list