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.7.0-rc2~30 X-Git-Url: https://git.liburcu.org/?a=commitdiff_plain;h=04eb14f398b96ae43c0ede1ad71ccd895f5f623c;p=lttng-tools.git 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 94943fbb9..043acafae 100644 --- a/src/bin/lttng-crash/lttng-crash.c +++ b/src/bin/lttng-crash/lttng-crash.c @@ -183,8 +183,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; @@ -291,9 +291,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: @@ -306,6 +308,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);