From ef577d6899d09f4a407addeed632ae861cb77a18 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Fri, 15 Apr 2022 02:09:53 -0400 Subject: [PATCH] Fix: lttng: snapshot: add-output: leak of max size parameter MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit ==1920281==ERROR: LeakSanitizer: detected memory leaks Direct leak of 6 byte(s) in 1 object(s) allocated from: #0 0x7fa95633add9 in __interceptor_malloc /usr/src/debug/gcc/libsanitizer/asan/asan_malloc_linux.cpp:145 #1 0x7fa955e90c09 (/usr/lib/libpopt.so.0+0x3c09) Signed-off-by: Jérémie Galarneau Change-Id: I87ce90a77d9624add0cab5d3090a7e83734da7f4 --- src/bin/lttng/commands/snapshot.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/lttng/commands/snapshot.c b/src/bin/lttng/commands/snapshot.c index 513257a3c..d471bbe78 100644 --- a/src/bin/lttng/commands/snapshot.c +++ b/src/bin/lttng/commands/snapshot.c @@ -624,9 +624,12 @@ int cmd_snapshot(int argc, const char **argv) case OPT_MAX_SIZE: { uint64_t val; - const char *max_size_arg = poptGetOptArg(pc); + char *max_size_arg = poptGetOptArg(pc); + const int parse_ret = utils_parse_size_suffix( + (char *) max_size_arg, &val); - if (utils_parse_size_suffix((char *) max_size_arg, &val) < 0) { + free(max_size_arg); + if (parse_ret < 0) { ERR("Unable to handle max-size value %s", max_size_arg); cmd_ret = CMD_ERROR; -- 2.34.1