Fix: sessiond: ODR violation results in memory corruption
[lttng-tools.git] / src / bin / lttng-sessiond / register.cpp
index 36a29d86316586487d90851f37fbf1092c5d44aa..f6aaef623f23369328ec1fc61b1748b12ed177e0 100644 (file)
@@ -24,6 +24,7 @@
 #include "utils.hpp"
 #include "thread.hpp"
 
+namespace {
 struct thread_state {
        struct lttng_pipe *quit_pipe;
        struct ust_cmd_queue *ust_cmd_queue;
@@ -31,6 +32,7 @@ struct thread_state {
        bool running;
        int application_socket;
 };
+} /* namespace */
 
 /*
  * Creates the application socket.
@@ -265,7 +267,7 @@ static void *thread_application_registration(void *data)
                                        (void) utils_set_fd_cloexec(sock);
 
                                        /* Create UST registration command for enqueuing */
-                                       ust_cmd = (ust_command *) zmalloc(sizeof(struct ust_command));
+                                       ust_cmd = zmalloc<ust_command>();
                                        if (ust_cmd == NULL) {
                                                PERROR("ust command zmalloc");
                                                ret = close(sock);
@@ -392,7 +394,7 @@ struct lttng_thread *launch_application_registration_thread(
        const bool is_root = (getuid() == 0);
        int application_socket = -1;
 
-       thread_state = (struct thread_state *) zmalloc(sizeof(*thread_state));
+       thread_state = zmalloc<struct thread_state>();
        if (!thread_state) {
                goto error_alloc;
        }
This page took 0.02336 seconds and 4 git commands to generate.