Fix: leaking memory from strdup in lttng-crash
authorAntoine Busque <abusque@efficios.com>
Sun, 13 Sep 2015 04:54:04 +0000 (00:54 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 15 Sep 2015 18:01:37 +0000 (14:01 -0400)
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-crash/lttng-crash.c

index 5d8e620f7a6474b4345ae30992218ffc1fbb0952..e6413bc57283b318cd4ffd30fcfbf578ad2db1ca 100644 (file)
@@ -184,8 +184,8 @@ struct lttng_crash_layout {
 
 /* Variables */
 static char *progname,
-       *opt_viewer_path = DEFAULT_VIEWER,
-       *opt_output_path;
+       *opt_viewer_path = NULL,
+       *opt_output_path = NULL;
 
 static char *input_path;
 
@@ -292,9 +292,11 @@ static int parse_args(int argc, char **argv)
                        }
                        break;
                case 'e':
+                       free(opt_viewer_path);
                        opt_viewer_path = strdup(optarg);
                        break;
                case 'x':
+                       free(opt_output_path);
                        opt_output_path = strdup(optarg);
                        break;
                case OPT_DUMP_OPTIONS:
@@ -307,6 +309,10 @@ static int parse_args(int argc, char **argv)
                }
        }
 
+       if (!opt_viewer_path) {
+               opt_viewer_path = DEFAULT_VIEWER;
+       }
+
        /* No leftovers, or more than one input path, print usage and quit */
        if ((argc - optind) == 0 || (argc - optind) > 1) {
                usage(stderr);
This page took 0.026521 seconds and 4 git commands to generate.