[PATCH v1 1/2] perf disasm: Fix memory leak for locked operations

From: Ian Rogers
Date: Tue Aug 13 2024 - 00:06:29 EST


lock__parse calls disasm_line__parse passing
&ops->locked.ins.name. Ensure ops->locked.ins.name is freed in
lock__delete.

Found with lock/leak sanitizer.

Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/util/disasm.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c
index 22289003e16d..226d2181f694 100644
--- a/tools/perf/util/disasm.c
+++ b/tools/perf/util/disasm.c
@@ -566,6 +566,7 @@ static void lock__delete(struct ins_operands *ops)
ins_ops__delete(ops->locked.ops);

zfree(&ops->locked.ops);
+ zfree(&ops->locked.ins.name);
zfree(&ops->target.raw);
zfree(&ops->target.name);
}
--
2.46.0.76.ge559c4bf1a-goog