From f00cfda73723c4854538f7c3145ccd4f0cf5107a Mon Sep 17 00:00:00 2001 From: Manuel Stoeckl Date: Sun, 1 Aug 2021 01:38:45 -0400 Subject: [PATCH] client: handle fcntl error on bad fd in wl_display_connect This makes wl_display_connect fail immediately instead of succeeding when the integer provided by WAYLAND_SOCKET does not refer to a valid file descriptor. Signed-off-by: Manuel Stoeckl --- src/wayland-client.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/wayland-client.c b/src/wayland-client.c index 63ce0d0..66f60e3 100644 --- a/src/wayland-client.c +++ b/src/wayland-client.c @@ -1246,7 +1246,9 @@ wl_display_connect(const char *name) errno = prev_errno; flags = fcntl(fd, F_GETFD); - if (flags != -1) + if (flags == -1 && errno == EBADF) + return NULL; + else if (flags != -1) fcntl(fd, F_SETFD, flags | FD_CLOEXEC); unsetenv("WAYLAND_SOCKET"); } else { -- 2.7.4