Fix: dereference on NULL pointer on allocation failure
[lttng-tools.git] / src / bin / lttng-sessiond / manage-kernel.c
index 56bc0a93ca6147807d02059058daa2b23ae4a0e5..34887d7b1d12db660122b9cb3eedef1756b5073f 100644 (file)
@@ -347,13 +347,12 @@ bool launch_kernel_management_thread(int kernel_poll_pipe_read_fd)
        struct thread_notifiers *notifiers = NULL;
        struct lttng_thread *thread;
 
        struct thread_notifiers *notifiers = NULL;
        struct lttng_thread *thread;
 
-       quit_pipe = lttng_pipe_open(FD_CLOEXEC);
-       if (!quit_pipe) {
-               goto error;
-       }
-
        notifiers = zmalloc(sizeof(*notifiers));
        if (!notifiers) {
        notifiers = zmalloc(sizeof(*notifiers));
        if (!notifiers) {
+               goto error_alloc;
+       }
+       quit_pipe = lttng_pipe_open(FD_CLOEXEC);
+       if (!quit_pipe) {
                goto error;
        }
        notifiers->quit_pipe = quit_pipe;
                goto error;
        }
        notifiers->quit_pipe = quit_pipe;
@@ -371,5 +370,6 @@ bool launch_kernel_management_thread(int kernel_poll_pipe_read_fd)
        return true;
 error:
        cleanup_kernel_management_thread(notifiers);
        return true;
 error:
        cleanup_kernel_management_thread(notifiers);
+error_alloc:
        return false;
 }
        return false;
 }
This page took 0.025342 seconds and 5 git commands to generate.