From 96f4c12d54347e60308e8270ca3bcf7b72d391e1 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Wed, 14 Nov 2018 14:01:06 -0500 Subject: [PATCH] util: Fix memory leak in virResctrlMonitorGetStats Missed during review and surprisingly my run through Coverity also didn't see this. I only noticed it when reading the code while fixing the build breaker for commit 36780a86a. With all those continues we would leak @stats. Signed-off-by: John Ferlan --- src/util/virresctrl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c index ef5c668921..7aeca9d287 100644 --- a/src/util/virresctrl.c +++ b/src/util/virresctrl.c @@ -2684,9 +2684,6 @@ virResctrlMonitorGetStats(virResctrlMonitorPtr monitor, while (virDirRead(dirp, &ent, datapath) > 0) { char *node_id = NULL; - if (VIR_ALLOC(stat) < 0) - goto cleanup; - /* Looking for directory that contains resource utilization * information file. The directory name is arranged in format * "mon__". For example, "mon_L3_00" and @@ -2709,6 +2706,9 @@ virResctrlMonitorGetStats(virResctrlMonitorPtr monitor, if (!(node_id = STRSKIP(node_id, "_"))) continue; + if (VIR_ALLOC(stat) < 0) + goto cleanup; + /* The node ID number should be here, parsing it. */ if (virStrToLong_uip(node_id, NULL, 0, &stat->id) < 0) goto cleanup;