From: Antoine Busque Date: Sun, 13 Sep 2015 04:54:04 +0000 (-0400) Subject: Fix: leaking memory from strdup in lttng-crash X-Git-Tag: v2.8.0-rc1~345 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=9030e9a98e786984811fa9ebbe3deef0e1c4fd4a Fix: leaking memory from strdup in lttng-crash Signed-off-by: Antoine Busque Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-crash/lttng-crash.c b/src/bin/lttng-crash/lttng-crash.c index 5d8e620f7..e6413bc57 100644 --- a/src/bin/lttng-crash/lttng-crash.c +++ b/src/bin/lttng-crash/lttng-crash.c @@ -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);