From 92aa95bd47d54d11da66aad9ee0a2900b4eb16f8 Mon Sep 17 00:00:00 2001 From: HX L Date: Mon, 10 Aug 2026 16:11:27 +0800 Subject: [PATCH] fix(channel): handle socket accept failure #41240 (cherry picked from commit 4b8c4dfc680fe0b6c6883ff0e641c1ee7f835711) --- src/nvim/channel.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/nvim/channel.c b/src/nvim/channel.c index 08cd76c398..5195bbafba 100644 --- a/src/nvim/channel.c +++ b/src/nvim/channel.c @@ -524,7 +524,12 @@ end: void channel_from_connection(SocketWatcher *watcher) { Channel *channel = channel_alloc(kChannelStreamSocket); - socket_watcher_accept(watcher, &channel->stream.socket); + int result = socket_watcher_accept(watcher, &channel->stream.socket); + if (result != 0) { + ELOG("Failed to accept connection: %s", uv_strerror(result)); + channel_destroy_early(channel); + return; + } channel->stream.socket.s.internal_close_cb = close_cb; channel->stream.socket.s.internal_data = channel; wstream_init(&channel->stream.socket.s, 0);