summaryrefslogtreecommitdiffstats
path: root/libvncclient/vncviewer.c
diff options
context:
space:
mode:
authorChristian Beier <dontmind@freeshell.org>2009-11-05 16:25:30 +0100
committerJohannes Schindelin <johannes.schindelin@gmx.de>2009-11-11 17:14:10 +0100
commit9ed410668c19ddd6b2c12709d6a5383e7f7a6e07 (patch)
treec58c13c3f035bd95c0b958388e2c8b337c19b0f3 /libvncclient/vncviewer.c
parentd4c43c1b7316fdaa03e4e1b14ef21f502a1c8be9 (diff)
downloadlibtdevnc-9ed410668c19ddd6b2c12709d6a5383e7f7a6e07.tar.gz
libtdevnc-9ed410668c19ddd6b2c12709d6a5383e7f7a6e07.zip
Fix checks for socket values, 0 is a legal value.
To make this work, we also have to initialize sockets to a default value of -1. Also close a client listen socket if it's open. Signed-off-by: Christian Beier <dontmind@freeshell.org> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Diffstat (limited to 'libvncclient/vncviewer.c')
-rw-r--r--libvncclient/vncviewer.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libvncclient/vncviewer.c b/libvncclient/vncviewer.c
index b5fb420..0361827 100644
--- a/libvncclient/vncviewer.c
+++ b/libvncclient/vncviewer.c
@@ -190,7 +190,8 @@ rfbClient* rfbGetClient(int bitsPerSample,int samplesPerPixel,
#ifdef LIBVNCSERVER_WITH_CLIENT_TLS
client->tlsSession = NULL;
#endif
-
+ client->sock = -1;
+ client->listenSock = -1;
return client;
}
@@ -334,8 +335,10 @@ void rfbClientCleanup(rfbClient* client) {
#endif
FreeTLS(client);
- if (client->sock > 0)
+ if (client->sock >= 0)
close(client->sock);
+ if (client->listenSock >= 0)
+ close(client->listenSock);
free(client->desktopName);
free(client->serverHost);
free(client);