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
This commit is contained in:
parent
41ab669bf9
commit
9c9a020b8f
7
tcp.c
7
tcp.c
@ -112,11 +112,16 @@ tcp_recv(STREAM s, uint32 length)
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
rcvd = recv(sock, s->end, length, 0);
|
rcvd = recv(sock, s->end, length, 0);
|
||||||
if (rcvd <= 0)
|
if (rcvd < 0)
|
||||||
{
|
{
|
||||||
error("recv: %s\n", strerror(errno));
|
error("recv: %s\n", strerror(errno));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
else if (rcvd == 0)
|
||||||
|
{
|
||||||
|
error("Connection closed\n");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
s->end += rcvd;
|
s->end += rcvd;
|
||||||
length -= rcvd;
|
length -= rcvd;
|
||||||
|
Loading…
Reference in New Issue
Block a user