From 3e68c9e87ed6fd601e953b9bb10e507a6a92a8f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Sat, 17 Apr 2021 18:47:16 -0400 Subject: [PATCH] Tests: fix: leak of notification-client arguments MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Valgrind reports the following leaks: ==334435== HEAP SUMMARY: ==334435== in use at exit: 8,568 bytes in 24 blocks ==334435== total heap usage: 846 allocs, 822 frees, 1,425,964 bytes allocated ==334435== ==334435== 9 bytes in 1 blocks are definitely lost in loss record 1 of 11 ==334435== at 0x483E77F: malloc (vg_replace_malloc.c:307) ==334435== by 0x4BCC5BE: strdup (in /usr/lib/libc-2.33.so) ==334435== by 0x10A48B: main (notification-client.c:123) ==334435== ==334435== 13 bytes in 1 blocks are definitely lost in loss record 2 of 11 ==334435== at 0x483E77F: malloc (vg_replace_malloc.c:307) ==334435== by 0x4BCC5BE: strdup (in /usr/lib/libc-2.33.so) ==334435== by 0x10A473: main (notification-client.c:120) ==334435== ==334435== 27 bytes in 1 blocks are definitely lost in loss record 3 of 11 ==334435== at 0x483E77F: malloc (vg_replace_malloc.c:307) ==334435== by 0x4BCC5BE: strdup (in /usr/lib/libc-2.33.so) ==334435== by 0x10A444: main (notification-client.c:114) Free the strdup()'ed' arguments. Signed-off-by: Jérémie Galarneau Change-Id: I21523e847141aef50858d3018f37f0125dee0e2c --- tests/regression/tools/trigger/utils/notification-client.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/regression/tools/trigger/utils/notification-client.c b/tests/regression/tools/trigger/utils/notification-client.c index 904d7e565..54248f633 100644 --- a/tests/regression/tools/trigger/utils/notification-client.c +++ b/tests/regression/tools/trigger/utils/notification-client.c @@ -98,8 +98,8 @@ int main(int argc, char **argv) int ret; int option; int option_index; - const char *expected_trigger_name = NULL; - const char *end_trigger_name = NULL; + char *expected_trigger_name = NULL; + char *end_trigger_name = NULL; struct lttng_triggers *triggers = NULL; unsigned int count, i, subcription_count = 0; enum lttng_trigger_status trigger_status; @@ -295,5 +295,8 @@ evaluate_success: end: lttng_triggers_destroy(triggers); lttng_notification_channel_destroy(notification_channel); + free(after_notif_register_file_path); + free(end_trigger_name); + free(expected_trigger_name); return !!ret; } -- 2.34.1