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-Url: http://drtracing.org/?a=commitdiff_plain;h=a9cfc0f36bf8ade64df08392b03a9f15409dc01b;p=deliverable%2Flttng-tools.git 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.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: