From: Jérémie Galarneau Date: Fri, 15 Apr 2022 00:22:03 +0000 (-0400) Subject: Fix: lttng: enable-channel: leak of popt arguments X-Git-Tag: v2.12.12~15 X-Git-Url: http://git.liburcu.org/?p=lttng-tools.git;a=commitdiff_plain;h=f5c47c1c084aabc19e20830a6fc1af748b49b833 Fix: lttng: enable-channel: leak of popt arguments ==1245463==ERROR: LeakSanitizer: detected memory leaks Direct leak of 5 byte(s) in 1 object(s) allocated from: #0 0x7fe7c494fdd9 in __interceptor_malloc /usr/src/debug/gcc/libsanitizer/asan/asan_malloc_linux.cpp:145 #1 0x7fe7c44a5c09 (/usr/lib/libpopt.so.0+0x3c09) Arguments obtained with poptGetOptArg() must be free'd. Signed-off-by: Jérémie Galarneau Change-Id: I5a65ca6fbaa18f7717ea918a5bc7f42daeb1009a --- diff --git a/src/bin/lttng/commands/enable_channels.c b/src/bin/lttng/commands/enable_channels.c index 8550ee9ea..f28b67519 100644 --- a/src/bin/lttng/commands/enable_channels.c +++ b/src/bin/lttng/commands/enable_channels.c @@ -642,6 +642,11 @@ int cmd_enable_channels(int argc, const char **argv) ret = CMD_UNDEFINED; goto end; } + + if (opt_arg) { + free(opt_arg); + opt_arg = NULL; + } } ret = print_missing_or_multiple_domains( @@ -753,5 +758,6 @@ end: /* Overwrite ret if an error occurred when enable_channel */ ret = command_ret ? command_ret : ret; poptFreeContext(pc); + free(opt_arg); return ret; }