Fix: sessiond: bad fd used while rotating exiting app's buffers
[lttng-tools.git] / src / bin / lttng-sessiond / dispatch.c
index 22380fcdd58d4f1cdc878be9096ad8bf93a05db5..c4ce36e7e96b6d6d1cccb9c7f8dc076a597ab995 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
+ * Copyright (C) 2011 EfficiOS Inc.
  * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  * Copyright (C) 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
@@ -67,7 +67,8 @@ static void update_ust_app(int app_sock)
                        continue;
                }
                session_lock(sess);
-               if (!sess->active || !sess->ust_session) {
+               if (!sess->active || !sess->ust_session ||
+                               !sess->ust_session->active) {
                        goto unlock_session;
                }
 
@@ -144,7 +145,7 @@ static void sanitize_wait_queue(struct ust_reg_wait_queue *wait_queue)
                                        (revents & (LPOLLHUP | LPOLLERR))) {
                                cds_list_del(&wait_node->head);
                                wait_queue->count--;
-                               ust_app_destroy(wait_node->app);
+                               ust_app_put(wait_node->app);
                                free(wait_node);
                                /*
                                 * Silence warning of use-after-free in
@@ -289,7 +290,7 @@ static void *thread_dispatch_ust_registration(void *data)
                                        ust_cmd->sock, ust_cmd->reg_msg.name,
                                        ust_cmd->reg_msg.major, ust_cmd->reg_msg.minor);
 
-                       if (ust_cmd->reg_msg.type == USTCTL_SOCKET_CMD) {
+                       if (ust_cmd->reg_msg.type == LTTNG_UST_CTL_SOCKET_CMD) {
                                wait_node = zmalloc(sizeof(*wait_node));
                                if (!wait_node) {
                                        PERROR("zmalloc wait_node dispatch");
This page took 0.029276 seconds and 4 git commands to generate.