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>
virStoragePoolSourceListPtr sourceList = data;
char *pvname = NULL;
char *vgname = NULL;
+ int retval = -1;
size_t i;
virStoragePoolSourceDevicePtr dev;
virStoragePoolSource *thisSource;
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;
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;
}
/*