From 7ed57c6537c5bf8714f779b1c1a153eab4aa4da4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Sat, 21 Feb 2009 14:11:58 +0000 Subject: [PATCH] * don't loop endless if the server dissappears in midaction. --- webcit/tcp_sockets.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webcit/tcp_sockets.c b/webcit/tcp_sockets.c index f9c121b6c..135819b31 100644 --- a/webcit/tcp_sockets.c +++ b/webcit/tcp_sockets.c @@ -124,7 +124,7 @@ inline void _serv_read(char *buf, int bytes, wcsession *WCC) int len, rlen; len = 0; - while (len < bytes) { + while ((len < bytes) && (WCC->serv_sock != -1)){ rlen = read(WCC->serv_sock, &buf[len], bytes - len); if (rlen < 1) { lprintf(1, "Server connection broken: %s\n", @@ -164,7 +164,7 @@ int serv_getln(char *strbuf, int bufsize) if ((ch != 13) && (ch != 10)) { strbuf[len++] = ch; } - } while ((ch != 10) && (ch != 0) && (len < (bufsize-1))); + } while ((ch != 10) && (ch != 0) && (len < (bufsize-1)) && (WCC->serv_sock != -1)); strbuf[len] = 0; #ifdef SERV_TRACE lprintf(9, "%3d>%s\n", WC->serv_sock, strbuf); -- 2.39.2