Fix: leaking memory from strdup in lttng-crash
[lttng-tools.git] / 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.023348 seconds and 4 git commands to generate.