From 9c9a020b8f5347f294b487f3d204ae2a32a0a9f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20=C3=85strand?= Date: Sat, 8 Nov 2003 09:17:41 +0000 Subject: [PATCH] errno is not valid when recv returns zero. git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@545 423420c4-83ab-492f-b58f-81f9feb106b5 --- tcp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tcp.c b/tcp.c index 822184a..009c688 100644 --- a/tcp.c +++ b/tcp.c @@ -112,11 +112,16 @@ tcp_recv(STREAM s, uint32 length) return NULL; rcvd = recv(sock, s->end, length, 0); - if (rcvd <= 0) + if (rcvd < 0) { error("recv: %s\n", strerror(errno)); return NULL; } + else if (rcvd == 0) + { + error("Connection closed\n"); + return NULL; + } s->end += rcvd; length -= rcvd;