From a9cfc0f36bf8ade64df08392b03a9f15409dc01b Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Tue, 17 May 2022 13:41:49 -0400 Subject: [PATCH] Fix: lttng-snapshot: use after free of max size argument MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit gcc 12.1.0 reports: commands/snapshot.cpp: In function ‘int cmd_snapshot(int, const char**)’: ../../../src/common/error.hpp:139:32: error: pointer ‘max_size_arg’ may be used after ‘void free(void*)’ [-Werror=use-after-free] free max_size_arg on both paths. Signed-off-by: Jérémie Galarneau Change-Id: I3775e835e10b364f32f4797afb9c090ac4dc133c --- src/bin/lttng/commands/snapshot.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/lttng/commands/snapshot.cpp b/src/bin/lttng/commands/snapshot.cpp index 583714d10..3cb66c555 100644 --- a/src/bin/lttng/commands/snapshot.cpp +++ b/src/bin/lttng/commands/snapshot.cpp @@ -627,16 +627,16 @@ int cmd_snapshot(int argc, const char **argv) const int parse_ret = utils_parse_size_suffix( (char *) max_size_arg, &val); - free(max_size_arg); if (parse_ret < 0) { ERR("Unable to handle max-size value %s", max_size_arg); cmd_ret = CMD_ERROR; + free(max_size_arg); goto end; } opt_max_size = val; - + free(max_size_arg); break; } default: -- 2.34.1