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.12.2~6 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=1ab8cc54cea3b09500503b50782c228afc13445c;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 372a71dad..e96fe35dc 100644 --- a/src/bin/lttng/commands/list.c +++ b/src/bin/lttng/commands/list.c @@ -273,7 +273,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); @@ -292,12 +292,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); @@ -313,6 +315,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: