From c7a31419ce2f43e07d71aa8f28fefc3d3d8747a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Fri, 28 Apr 2023 20:55:31 -0400
Subject: [PATCH] Only read readable sockets.

---
 src/syncterm/rlogin.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/syncterm/rlogin.c b/src/syncterm/rlogin.c
index 432b470a02..961ec34135 100644
--- a/src/syncterm/rlogin.c
+++ b/src/syncterm/rlogin.c
@@ -29,13 +29,13 @@ rlogin_input_thread(void *args)
 			rd = recv(rlogin_sock, conn_api.rd_buf, conn_api.rd_buf_size, 0);
 			if (rd <= 0)
 				break;
-		}
-		buffered = 0;
-		while (rlogin_sock != INVALID_SOCKET && buffered < rd) {
-			pthread_mutex_lock(&(conn_inbuf.mutex));
-			buffer = conn_buf_wait_free(&conn_inbuf, rd - buffered, 1000);
-			buffered += conn_buf_put(&conn_inbuf, conn_api.rd_buf + buffered, buffer);
-			pthread_mutex_unlock(&(conn_inbuf.mutex));
+			buffered = 0;
+			while (rlogin_sock != INVALID_SOCKET && buffered < rd) {
+				pthread_mutex_lock(&(conn_inbuf.mutex));
+				buffer = conn_buf_wait_free(&conn_inbuf, rd - buffered, 1000);
+				buffered += conn_buf_put(&conn_inbuf, conn_api.rd_buf + buffered, buffer);
+				pthread_mutex_unlock(&(conn_inbuf.mutex));
+			}
 		}
 	}
 	conn_api.input_thread_running = 2;
-- 
GitLab