Fix: lttng-snapshot: use after free of max size argument
[lttng-tools.git] / src / bin / lttng / commands / snapshot.cpp
index bc0dd8b4ecfe52eeeed87c5897c23b69bb8607ba..3cb66c5557406ed3585d80f1f4c4185cda51be9e 100644 (file)
@@ -623,17 +623,20 @@ 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) {
+                       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:
This page took 0.023951 seconds and 4 git commands to generate.