From: Jérémie Galarneau Date: Tue, 17 May 2022 17:41:49 +0000 (-0400) Subject: Fix: lttng-snapshot: use after free of max size argument X-Git-Tag: v2.13.8~10 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=e7039c81dcbca582433beb3c3c7a34d4a6ef724d Fix: lttng-snapshot: use after free of max size argument 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 --- diff --git a/src/bin/lttng/commands/snapshot.c b/src/bin/lttng/commands/snapshot.c index d471bbe78..c41a92f5c 100644 --- a/src/bin/lttng/commands/snapshot.c +++ b/src/bin/lttng/commands/snapshot.c @@ -628,16 +628,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: