diff options
author | Christian Beier <dontmind@freeshell.org> | 2009-11-05 16:25:30 +0100 |
---|---|---|
committer | Johannes Schindelin <johannes.schindelin@gmx.de> | 2009-11-11 17:14:10 +0100 |
commit | 9ed410668c19ddd6b2c12709d6a5383e7f7a6e07 (patch) | |
tree | c58c13c3f035bd95c0b958388e2c8b337c19b0f3 /libvncclient/vncviewer.c | |
parent | d4c43c1b7316fdaa03e4e1b14ef21f502a1c8be9 (diff) | |
download | libtdevnc-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.c | 7 |
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); |