From 57b51d9a18551cb7b998ac4ec88a2130ea014f32 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Thu, 5 Oct 2023 21:50:58 +0200 Subject: [PATCH] session: Validate file descriptors send by cosmic-session --- src/session.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/session.rs b/src/session.rs index 4c2fd2e9..0a75977e 100644 --- a/src/session.rs +++ b/src/session.rs @@ -133,6 +133,9 @@ pub fn setup_socket(handle: LoopHandle, state: &State) -> Result<()> { Ok((_, received_count)) => { assert_eq!(received_count, count); for fd in fds.into_iter().take(received_count) { + if fd == -1 { + continue; + } let stream = unsafe { UnixStream::from_raw_fd(fd) }; if let Err(err) = state.common.display_handle.insert_client(stream, Arc::new(state.new_privileged_client_state())) { warn!(?err, "Failed to add privileged client to display");