From 0b8ce4f7759ef03452f8d6ccede8385d110f9000 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Tue, 11 Aug 2020 02:03:23 -0400 Subject: [PATCH] Gracefully close raw sockets on EOF In src/server.c, handle_sock_raw(), gracefully close sockets upon read()ing EOF --- src/server.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index 92e19f3..ef62c64 100644 --- a/src/server.c +++ b/src/server.c @@ -1847,7 +1847,17 @@ static int handle_sock_raw(patty_ax25_server *server, if ((len = patty_ax25_sock_recv(sock, sock->iface->tx_buf, sock->iface->mtu)) < 0) { - goto error_io; + if (errno == EIO) { + (void)sock_close(server, sock); + + break; + } else { + goto error_io; + } + } else if (len == 0) { + (void)sock_close(server, sock); + + break; } if (patty_ax25_sock_send(sock, sock->iface->tx_buf, len) < 0) {