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 <jferlan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
John Ferlan 2019-02-12 06:39:50 -05:00
parent 8a69cbc181
commit 813e775983

View File

@ -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;
}
/*