From: John Ferlan Date: Tue, 12 Feb 2019 11:39:50 +0000 (-0500) Subject: storage: Cleanup virStorageBackendLogicalFindPoolSourcesFunc X-Git-Tag: v5.1.0-rc1~135 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=813e7759834202f78d0f9419c80353b00685c827;p=thirdparty%2Flibvirt.git storage: Cleanup virStorageBackendLogicalFindPoolSourcesFunc Rather than have two error paths, let's use a @retval value and VIR_STEAL_PTR on @vgname and @pvname to unity the exit path through the error label. Signed-off-by: John Ferlan Reviewed-by: Erik Skultety Reviewed-by: Ján Tomko --- diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c index fd95bd0d48..46e5bb3ee9 100644 --- a/src/storage/storage_backend_logical.c +++ b/src/storage/storage_backend_logical.c @@ -484,6 +484,7 @@ virStorageBackendLogicalFindPoolSourcesFunc(char **const groups, virStoragePoolSourceListPtr sourceList = data; char *pvname = NULL; char *vgname = NULL; + int retval = -1; size_t i; virStoragePoolSourceDevicePtr dev; virStoragePoolSource *thisSource; @@ -504,10 +505,8 @@ virStorageBackendLogicalFindPoolSourcesFunc(char **const groups, if (!(thisSource = virStoragePoolSourceListNewSource(sourceList))) goto error; - thisSource->name = vgname; + VIR_STEAL_PTR(thisSource->name, vgname); } - else - VIR_FREE(vgname); if (VIR_REALLOC_N(thisSource->devices, thisSource->ndevice + 1) != 0) goto error; @@ -517,15 +516,15 @@ virStorageBackendLogicalFindPoolSourcesFunc(char **const groups, thisSource->format = VIR_STORAGE_POOL_LOGICAL_LVM2; memset(dev, 0, sizeof(*dev)); - dev->path = pvname; + VIR_STEAL_PTR(dev->path, pvname); - return 0; + retval = 0; error: VIR_FREE(pvname); VIR_FREE(vgname); - return -1; + return retval; } /*