diff options
author | Alexander Tsoy <alexander@tsoy.me> | 2020-06-29 10:52:36 +0300 |
---|---|---|
committer | Aaron Bauman <bman@gentoo.org> | 2020-06-29 13:29:20 -0400 |
commit | 3cc06e5fd4889a3fd2d77d6a411efe0f82f37777 (patch) | |
tree | 0f119d4890e2eb677c9ceb9550d6e14612f3c63d /net-libs/libvncserver/files/libvncserver-0.9.12-fix-shutdown-crash.patch | |
parent | dev-ruby/asciimath: add missing test dep (diff) | |
download | gentoo-3cc06e5fd4889a3fd2d77d6a411efe0f82f37777.tar.gz gentoo-3cc06e5fd4889a3fd2d77d6a411efe0f82f37777.tar.bz2 gentoo-3cc06e5fd4889a3fd2d77d6a411efe0f82f37777.zip |
net-libs/libvncserver: Security cleanup
Bug: https://bugs.gentoo.org/728594
Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
Closes: https://github.com/gentoo/gentoo/pull/16483
Signed-off-by: Aaron Bauman <bman@gentoo.org>
Diffstat (limited to 'net-libs/libvncserver/files/libvncserver-0.9.12-fix-shutdown-crash.patch')
-rw-r--r-- | net-libs/libvncserver/files/libvncserver-0.9.12-fix-shutdown-crash.patch | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/net-libs/libvncserver/files/libvncserver-0.9.12-fix-shutdown-crash.patch b/net-libs/libvncserver/files/libvncserver-0.9.12-fix-shutdown-crash.patch deleted file mode 100644 index 0ae8d38c6f89..000000000000 --- a/net-libs/libvncserver/files/libvncserver-0.9.12-fix-shutdown-crash.patch +++ /dev/null @@ -1,63 +0,0 @@ -From d0a76539835d11c0f4723499f8be4bc9c7724eb9 Mon Sep 17 00:00:00 2001 -From: Rajesh Sahoo <rajesh.sahoo@lge.com> -Date: Tue, 11 Jun 2019 15:13:04 +0530 -Subject: [PATCH] avoid pthread_join if backgroundLoop is FALSE - -client_thread is created depending upon backgroundLoop, but joining -without checking for same condition. so we are trying to join a garbage -thread_id. ---- - libvncserver/main.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libvncserver/main.c b/libvncserver/main.c -index d3cd9b1..772fb18 100644 ---- a/libvncserver/main.c -+++ b/libvncserver/main.c -@@ -1112,6 +1112,7 @@ void rfbShutdownServer(rfbScreenInfoPtr screen,rfbBool disconnectClients) { - } - - #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD -+ if(currentCl->screen->backgroundLoop) { - /* - Notify the thread. This simply writes a NULL byte to the notify pipe in order to get past the select() - in clientInput(), the loop in there will then break because the rfbCloseClient() above has set -@@ -1120,6 +1121,7 @@ void rfbShutdownServer(rfbScreenInfoPtr screen,rfbBool disconnectClients) { - write(currentCl->pipe_notify_client_thread[1], "\x00", 1); - /* And wait for it to finish. */ - pthread_join(currentCl->client_thread, NULL); -+ } - #else - rfbClientConnectionGone(currentCl); - #endif --- -2.24.1 - -From 15c4f144a3783d9f1f2c976acf9f4d85988fd466 Mon Sep 17 00:00:00 2001 -From: Albert Astals Cid <aacid@kde.org> -Date: Sun, 5 Jan 2020 19:56:57 +0100 -Subject: [PATCH] rfbShutdownServer: Call rfbClientConnectionGone if no - backgroundLoop - -Otherwise the servers that don't use rfbRunEventLoop don't get -notified of client disconnections ---- - libvncserver/main.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libvncserver/main.c b/libvncserver/main.c -index b51f0ab..738a501 100644 ---- a/libvncserver/main.c -+++ b/libvncserver/main.c -@@ -1152,6 +1152,8 @@ void rfbShutdownServer(rfbScreenInfoPtr screen,rfbBool disconnectClients) { - write(currentCl->pipe_notify_client_thread[1], "\x00", 1); - /* And wait for it to finish. */ - pthread_join(currentCl->client_thread, NULL); -+ } else { -+ rfbClientConnectionGone(currentCl); - } - #else - rfbClientConnectionGone(currentCl); --- -2.24.1 - |