From: Jonathan Rajotte Date: Fri, 2 Jun 2017 18:52:30 +0000 (-0400) Subject: Fix: notification test: resources leak and return handling X-Git-Tag: v2.11.0-rc1~525 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=eff748d0c31ea521364b356e0bf61b7167298c84 Fix: notification test: resources leak and return handling Fixes CID #1375913, 1375912, 1375911 1375910 1375909 1375908 Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau --- diff --git a/tests/regression/tools/notification/base_client.c b/tests/regression/tools/notification/base_client.c index 21a8ac3fe..7fbaa9e4d 100644 --- a/tests/regression/tools/notification/base_client.c +++ b/tests/regression/tools/notification/base_client.c @@ -297,7 +297,9 @@ end: if (trigger) { lttng_unregister_trigger(trigger); } - lttng_notification_channel_unsubscribe(notification_channel, condition); + if (lttng_notification_channel_unsubscribe(notification_channel, condition)) { + printf("error: channel unsubscribe error\n"); + } lttng_trigger_destroy(trigger); lttng_condition_destroy(condition); lttng_action_destroy(action); @@ -330,12 +332,27 @@ int handle_condition( } /* Fetch info to test */ - lttng_condition_buffer_usage_get_session_name(condition, + ret = lttng_condition_buffer_usage_get_session_name(condition, &condition_session_name); - lttng_condition_buffer_usage_get_channel_name(condition, + if (ret) { + printf("error: session name could not be fetched\n"); + ret = 1; + goto end; + } + ret = lttng_condition_buffer_usage_get_channel_name(condition, &condition_channel_name); - lttng_condition_buffer_usage_get_domain_type(condition, + if (ret) { + printf("error: channel name could not be fetched\n"); + ret = 1; + goto end; + } + ret = lttng_condition_buffer_usage_get_domain_type(condition, &condition_domain_type); + if (ret) { + printf("error: domain type could not be fetched\n"); + ret = 1; + goto end; + } if (strcmp(condition_session_name, session_name) != 0) { printf("error: session name differs\n"); diff --git a/tests/regression/tools/notification/notification.c b/tests/regression/tools/notification/notification.c index f69e884ae..5de09e201 100644 --- a/tests/regression/tools/notification/notification.c +++ b/tests/regression/tools/notification/notification.c @@ -68,6 +68,9 @@ int write_pipe(const char *path, uint8_t data) ret = write(fd, &data , sizeof(data)); if (ret < 1) { perror("Named pipe write failed"); + if (close(fd)) { + perror("Named pipe close failed"); + } ret = -1; goto end; } @@ -563,6 +566,7 @@ end: lttng_trigger_destroy(trigger); lttng_action_destroy(action); lttng_condition_destroy(low_condition); + lttng_condition_destroy(high_condition); lttng_condition_destroy(dummy_invalid_condition); lttng_condition_destroy(dummy_condition); }