summaryrefslogtreecommitdiff
path: root/0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch')
-rw-r--r--0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch b/0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch
new file mode 100644
index 0000000..11d0f7e
--- /dev/null
+++ b/0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch
@@ -0,0 +1,28 @@
+From d138cf90130b0e8d5062f136ecdbcaa85e734d5d Mon Sep 17 00:00:00 2001
+From: Christian Beier <info@christianbeier.net>
+Date: Mon, 20 Jul 2020 22:33:29 +0200
+Subject: [PATCH] libvncserver: don't NULL out internal of the default cursor
+
+...otherwise an rfbScreen created after rfbScreenCleanup() was called
+gets assigned an invalid cursor struct.
+---
+ libvncserver/main.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libvncserver/main.c b/libvncserver/main.c
+index 9149fda3..a3a711e3 100644
+--- a/libvncserver/main.c
++++ b/libvncserver/main.c
+@@ -1110,7 +1110,8 @@ void rfbScreenCleanup(rfbScreenInfoPtr screen)
+ FREE_IF(underCursorBuffer);
+ TINI_MUTEX(screen->cursorMutex);
+
+- rfbFreeCursor(screen->cursor);
++ if(screen->cursor != &myCursor)
++ rfbFreeCursor(screen->cursor);
+
+ #ifdef LIBVNCSERVER_HAVE_LIBZ
+ rfbZlibCleanup(screen);
+--
+2.28.0
+