Fix: relayd: unchecked poll set creation return value
[lttng-tools.git] / src / bin / lttng-relayd / main.c
index 3295b009a40f1a93ddc766e288f1bd3cdcb2cf54..cbd9e9cc70bc8733e7f82dc59d21b29651524ae2 100644 (file)
@@ -918,6 +918,10 @@ static int create_named_thread_poll_set(struct lttng_poll_event *events,
 
        ret = fd_tracker_util_poll_create(the_fd_tracker,
                        name, events, 1, LTTNG_CLOEXEC);
+       if (ret) {
+               PERROR("Failed to create \"%s\" poll file descriptor", name);
+               goto error;
+       }
 
        /* Add quit pipe */
        ret = lttng_poll_add(events, thread_quit_pipe[0], LPOLLIN | LPOLLERR);
@@ -2934,7 +2938,7 @@ static int relay_close_trace_chunk(const struct lttcomm_relayd_hdr *recv_hdr,
                                new_path);
                if (chunk_status != LTTNG_TRACE_CHUNK_STATUS_OK) {
                        ret = -1;
-                       goto end;
+                       goto end_unlock_session;
                }
                session->ongoing_rotation = false;
        }
@@ -2952,7 +2956,7 @@ static int relay_close_trace_chunk(const struct lttcomm_relayd_hdr *recv_hdr,
                chunk_status = lttng_trace_chunk_rename_path(chunk, old_path);
                if (chunk_status != LTTNG_TRACE_CHUNK_STATUS_OK) {
                        ret = -1;
-                       goto end;
+                       goto end_unlock_session;
                }
        }
        chunk_status = lttng_trace_chunk_set_close_timestamp(
This page took 0.02551 seconds and 4 git commands to generate.