cmd_monitor() calls get_cpu_topology() to allocate memory for
cpu topology and fails to release in error legs.
Fix it to call cpu_topology_release() from error legs.
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
---
tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c b/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c
index e123aa578881..0380d2e70016 100644
--- a/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c
+++ b/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c
@@ -427,11 +427,13 @@ int cmd_monitor(int argc, char **argv)
if (avail_monitors == 0) {
printf(_("No HW Cstate monitors found\n"));
+ cpu_topology_release(cpu_top);
return 1;
}
if (mode == list) {
list_monitors();
+ cpu_topology_release(cpu_top);
exit(EXIT_SUCCESS);
}
--
2.45.2