From 04eb14f398b96ae43c0ede1ad71ccd895f5f623c Mon Sep 17 00:00:00 2001 From: Antoine Busque Date: Sun, 13 Sep 2015 00:54:04 -0400 Subject: [PATCH] Fix: leaking memory from strdup in lttng-crash MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Antoine Busque Signed-off-by: Jérémie Galarneau --- src/bin/lttng-crash/lttng-crash.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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); -- 2.34.1