diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 00c519b558..d61e810fcd 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2833,13 +2833,13 @@ virResctrlInfoNew; virResctrlMonitorAddPID; virResctrlMonitorCreate; virResctrlMonitorDeterminePath; -virResctrlMonitorFreeStats; virResctrlMonitorGetCacheOccupancy; virResctrlMonitorGetID; virResctrlMonitorNew; virResctrlMonitorRemove; virResctrlMonitorSetAlloc; virResctrlMonitorSetID; +virResctrlMonitorStatsFree; # util/virrotatingfile.h diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 4ca3eb7bde..98a4f7eaf7 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -20696,9 +20696,13 @@ struct _virQEMUResctrlMonData { static void qemuDomainFreeResctrlMonData(virQEMUResctrlMonDataPtr resdata) { + size_t i = 0; + VIR_FREE(resdata->name); VIR_FREE(resdata->vcpus); - virResctrlMonitorFreeStats(resdata->stats, resdata->nstats); + for (i = 0; i < resdata->nstats; i++) + virResctrlMonitorStatsFree(resdata->stats[i]); + VIR_FREE(resdata->stats); VIR_FREE(resdata); } diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c index fb66ea3d49..af0e5c0945 100644 --- a/src/util/virresctrl.c +++ b/src/util/virresctrl.c @@ -2765,25 +2765,19 @@ virResctrlMonitorGetStats(virResctrlMonitorPtr monitor, cleanup: VIR_FREE(datapath); VIR_FREE(filepath); - VIR_FREE(stat); + virResctrlMonitorStatsFree(stat); VIR_DIR_CLOSE(dirp); return ret; } void -virResctrlMonitorFreeStats(virResctrlMonitorStatsPtr *stats, - size_t nstats) +virResctrlMonitorStatsFree(virResctrlMonitorStatsPtr stat) { - size_t i = 0; - - if (!stats) + if (!stat) return; - for (i = 0; i < nstats; i++) - VIR_FREE(stats[i]); - - VIR_FREE(stats); + VIR_FREE(stat); } diff --git a/src/util/virresctrl.h b/src/util/virresctrl.h index e92f8e0ece..d92f248278 100644 --- a/src/util/virresctrl.h +++ b/src/util/virresctrl.h @@ -232,5 +232,4 @@ virResctrlMonitorGetCacheOccupancy(virResctrlMonitorPtr monitor, size_t *nstats); void -virResctrlMonitorFreeStats(virResctrlMonitorStatsPtr *stats, - size_t nstats); +virResctrlMonitorStatsFree(virResctrlMonitorStatsPtr stats);