diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index ac323d0d89dbbb898d252bfa2bce57cc81d13eac..9c2962fbfe976cf27b2c674cdbaf5135746e0302 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -356,6 +356,13 @@ virStoragePoolSourceAdapterClear(virStoragePoolSourceAdapter adapter) } } +void +virStoragePoolSourceDeviceClear(virStoragePoolSourceDevicePtr dev) +{ + VIR_FREE(dev->freeExtents); + VIR_FREE(dev->path); +} + void virStoragePoolSourceClear(virStoragePoolSourcePtr source) { @@ -369,10 +376,8 @@ virStoragePoolSourceClear(virStoragePoolSourcePtr source) } VIR_FREE(source->hosts); - for (i = 0; i < source->ndevice; i++) { - VIR_FREE(source->devices[i].freeExtents); - VIR_FREE(source->devices[i].path); - } + for (i = 0; i < source->ndevice; i++) + virStoragePoolSourceDeviceClear(&source->devices[i]); VIR_FREE(source->devices); VIR_FREE(source->dir); VIR_FREE(source->name); diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index 251b9681e1214e74dc0df770e870d393a47c712d..636c9aa8331eed410478df9a6509147df1d5d7ec 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -432,6 +432,7 @@ int virStoragePoolObjDeleteDef(virStoragePoolObjPtr pool); void virStorageVolDefFree(virStorageVolDefPtr def); void virStoragePoolSourceClear(virStoragePoolSourcePtr source); +void virStoragePoolSourceDeviceClear(virStoragePoolSourceDevicePtr dev); void virStoragePoolSourceFree(virStoragePoolSourcePtr source); void virStoragePoolDefFree(virStoragePoolDefPtr def); void virStoragePoolObjFree(virStoragePoolObjPtr pool); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index f1607cd6acdae253750a1395cb066e950d6d4759..ea16cf5bf4222c417a972c460499e93292e41c9f 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -710,6 +710,7 @@ virStoragePoolObjUnlock; virStoragePoolSourceAdapterTypeTypeFromString; virStoragePoolSourceAdapterTypeTypeToString; virStoragePoolSourceClear; +virStoragePoolSourceDeviceClear; virStoragePoolSourceFindDuplicate; virStoragePoolSourceFindDuplicateDevices; virStoragePoolSourceFree;