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.13.8~20 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=ccdec6d978dcaf18e5025dc12bae1c12a005b017;p=lttng-tools.git 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 8ba5db1ed..9bfce348b 100644 --- a/src/bin/lttng/commands/enable_channels.c +++ b/src/bin/lttng/commands/enable_channels.c @@ -645,6 +645,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( @@ -756,5 +761,6 @@ end: /* Overwrite ret if an error occurred when enable_channel */ ret = command_ret ? command_ret : ret; poptFreeContext(pc); + free(opt_arg); return ret; }