From: Jérémie Galarneau Date: Tue, 23 Jun 2020 03:35:02 +0000 (-0400) Subject: Fix: lttng: leak of userspace probe path on listing X-Git-Tag: v2.11.5~1 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=82598b9bc886c868d96f95601f7f3eec8ce24355;p=lttng-tools.git Fix: lttng: leak of userspace probe path on listing realpath() returns a malloc'ed string when `resolved_path` is NULL. `binary_path` can be safely free'd after it is printed. Signed-off-by: Jérémie Galarneau Change-Id: Ic35862f3275f58274ae2572e1d6be736f8a2107e --- diff --git a/src/bin/lttng/commands/list.c b/src/bin/lttng/commands/list.c index 8f44b6a77..fa7e04460 100644 --- a/src/bin/lttng/commands/list.c +++ b/src/bin/lttng/commands/list.c @@ -279,7 +279,7 @@ static void print_userspace_probe_location(struct lttng_event *event) case LTTNG_USERSPACE_PROBE_LOCATION_TYPE_FUNCTION: { const char *function_name; - const char *binary_path; + char *binary_path; MSG("%sType: Function", indent8); function_name = lttng_userspace_probe_location_function_get_function_name(location); @@ -298,12 +298,14 @@ static void print_userspace_probe_location(struct lttng_event *event) MSG("%sLookup method: INVALID LOOKUP TYPE ENCOUNTERED", indent8); break; } + + free(binary_path); break; } case LTTNG_USERSPACE_PROBE_LOCATION_TYPE_TRACEPOINT: { const char *probe_name, *provider_name; - const char *binary_path; + char *binary_path; MSG("%sType: Tracepoint", indent8); probe_name = lttng_userspace_probe_location_tracepoint_get_probe_name(location); @@ -319,6 +321,8 @@ static void print_userspace_probe_location(struct lttng_event *event) MSG("%sLookup method: INVALID LOOKUP TYPE ENCOUNTERED", indent8); break; } + + free(binary_path); break; } default: