Tests: fix: lttng-create: leaked command parameter
[lttng-tools.git] / src / bin / lttng / commands / create.c
index 379ca0a660908c1e3454fafd3d193b83e029e081..4ac8b87cad760896f22620264231a2c31d40a0c1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
+ * Copyright (C) 2011 EfficiOS Inc.
  * Copyright (C) 2019 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
  * SPDX-License-Identifier: GPL-2.0-only
@@ -29,8 +29,8 @@
 #include <common/sessiond-comm/sessiond-comm.h>
 #include <common/uri.h>
 #include <common/utils.h>
-#include <lttng/snapshot.h>
-#include <lttng/session-descriptor.h>
+#include <common/path.h>
+#include <lttng/lttng.h>
 
 static char *opt_output_path;
 static char *opt_session_name;
@@ -133,7 +133,6 @@ end:
 static
 struct lttng_session_descriptor *create_session_descriptor(void)
 {
-       int ret;
        ssize_t uri_count;
        enum output_type output_type;
        struct lttng_uri *uris = NULL;
@@ -145,6 +144,7 @@ struct lttng_session_descriptor *create_session_descriptor(void)
                output_type = OUTPUT_NONE;
        } else if (opt_output_path) {
                char *expanded_output_path;
+               int ret;
 
                output_type = OUTPUT_LOCAL;
                expanded_output_path = utils_expand_path(opt_output_path);
@@ -161,6 +161,8 @@ struct lttng_session_descriptor *create_session_descriptor(void)
                        goto end;
                }
        } else if (opt_url || opt_ctrl_url) {
+               int ret;
+
                uri_str1 = opt_ctrl_url ? opt_ctrl_url : opt_url;
                uri_str2 = opt_data_url;
 
@@ -672,6 +674,11 @@ int cmd_create(int argc, const char **argv)
                        uint64_t v;
 
                        errno = 0;
+                       if (opt_arg) {
+                               free(opt_arg);
+                               opt_arg = NULL;
+                       }
+
                        opt_arg = poptGetOptArg(pc);
                        if (!opt_arg) {
                                /* Set up default values. */
@@ -802,6 +809,7 @@ end:
        /* Overwrite ret if an error occurred in create_session() */
        ret = command_ret ? command_ret : ret;
 
+       free(opt_arg);
        poptFreeContext(pc);
        return ret;
 }
This page took 0.025297 seconds and 4 git commands to generate.