summaryrefslogtreecommitdiffstats
path: root/libvncserver/rfbserver.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvncserver/rfbserver.c')
-rw-r--r--libvncserver/rfbserver.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
index e60aadc..7c620c8 100644
--- a/libvncserver/rfbserver.c
+++ b/libvncserver/rfbserver.c
@@ -435,7 +435,8 @@ rfbClientConnectionGone(rfbClientPtr cl)
#endif
#ifdef LIBVNCSERVER_HAVE_LIBPTHREAD
- if(cl->screen->backgroundLoop != FALSE)
+ if(cl->screen->backgroundLoop != FALSE) {
+ int i;
do {
LOCK(cl->refCountMutex);
i=cl->refCount;
@@ -443,6 +444,7 @@ rfbClientConnectionGone(rfbClientPtr cl)
if(i>0)
WAIT(cl->deleteCond,cl->refCountMutex);
} while(i>0);
+ }
#endif
UNLOCK(rfbClientListMutex);
@@ -547,7 +549,7 @@ rfbProcessClientProtocolVersion(rfbClientPtr cl)
pv[sz_rfbProtocolVersionMsg] = 0;
if (sscanf(pv,rfbProtocolVersionFormat,&major_,&minor_) != 2) {
char name[1024];
- if(sscanf(pv,"RFB %03d.%03d %1024s\n",&major_,&minor_,name) != 3) {
+ if(sscanf(pv,"RFB %03d.%03d %1023s\n",&major_,&minor_,name) != 3) {
rfbErr("rfbProcessClientProtocolVersion: not a valid RFB client\n");
rfbCloseClient(cl);
return;