Fix: client_list_element leak on failure to evaluate a condition
[lttng-tools.git] / src / bin / lttng-sessiond / notification-thread-events.c
index 6a7477aff44a165d1cb5d763526aea8498fde2f8..9d006845fb93a362c5289065e8398fd3412bdaf1 100644 (file)
@@ -397,10 +397,14 @@ static
 void session_info_destroy(void *_data)
 {
        struct session_info *session_info = _data;
+       int ret;
 
        assert(session_info);
        if (session_info->channel_infos_ht) {
-               cds_lfht_destroy(session_info->channel_infos_ht, NULL);
+               ret = cds_lfht_destroy(session_info->channel_infos_ht, NULL);
+               if (ret) {
+                       ERR("[notification-thread] Failed to destroy channel information hash table");
+               }
        }
        free(session_info->name);
        free(session_info);
@@ -711,6 +715,7 @@ int notification_thread_client_subscribe(struct notification_client *client,
                        client, state)) {
                WARN("[notification-thread] Evaluation of a condition on client subscription failed, aborting.");
                ret = -1;
+               free(client_list_element);
                goto end_unlock;
        }
 
This page took 0.025185 seconds and 5 git commands to generate.