summaryrefslogtreecommitdiffstats
path: root/libvncserver/rfbserver.c
diff options
context:
space:
mode:
authorChristian Beier <dontmind@freeshell.org>2019-01-06 19:16:02 +0100
committerGitHub <noreply@github.com>2019-01-06 19:16:02 +0100
commitffa449ad01d803acdace6d178ef198d9abdcc16f (patch)
tree73a3e1433fbe1ae4f184d0a47949ccc844fcb300 /libvncserver/rfbserver.c
parentcd197f6daea0f750a76e8e9d5a5b78cfd24ebeb3 (diff)
parent00bae113d54014bafcf20c9f4c8c296e3e91bde5 (diff)
downloadlibtdevnc-ffa449ad01d803acdace6d178ef198d9abdcc16f.tar.gz
libtdevnc-ffa449ad01d803acdace6d178ef198d9abdcc16f.zip
Merge pull request #238 from tetrane/pr-fix-use-after-free
Fix use-after-free and concurrent access segmentation fault
Diffstat (limited to 'libvncserver/rfbserver.c')
-rw-r--r--libvncserver/rfbserver.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
index e210a32..7af8490 100644
--- a/libvncserver/rfbserver.c
+++ b/libvncserver/rfbserver.c
@@ -619,6 +619,11 @@ rfbClientConnectionGone(rfbClientPtr cl)
UNLOCK(cl->sendMutex);
TINI_MUTEX(cl->sendMutex);
+#ifdef LIBVNCSERVER_HAVE_LIBPTHREAD
+ close(cl->pipe_notify_client_thread[0]);
+ close(cl->pipe_notify_client_thread[1]);
+#endif
+
rfbPrintStats(cl);
rfbResetStats(cl);