Fix crash in clipboard support in x0vncserver
Resolves: RHEL-74216
This commit is contained in:
parent
2c870727a9
commit
70517c2cc7
24
tigervnc-avoid-invalid-xfree-for-xclasshint.patch
Normal file
24
tigervnc-avoid-invalid-xfree-for-xclasshint.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From 6c8387018b130eb4ef69ea377e9154ba04f0fd50 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre Ossman <ossman@cendio.se>
|
||||
Date: Tue, 22 Oct 2024 09:58:27 +0200
|
||||
Subject: [PATCH] Avoid invalid XFree for XClassHint
|
||||
|
||||
It seems XGetClassHint() doesn't set the pointers to NULL if there is no
|
||||
name, so we need to make sure it is cleared beforehand. Otherwise we can
|
||||
get an invalid pointer given to XFree().
|
||||
---
|
||||
unix/tx/TXWindow.cxx | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/unix/tx/TXWindow.cxx b/unix/tx/TXWindow.cxx
|
||||
index b6a29d679..639c13827 100644
|
||||
--- a/unix/tx/TXWindow.cxx
|
||||
+++ b/unix/tx/TXWindow.cxx
|
||||
@@ -313,6 +313,7 @@ void TXWindow::toplevel(const char* name, TXDeleteWindowCallback* dwc_,
|
||||
void TXWindow::setName(const char* name)
|
||||
{
|
||||
XClassHint classHint;
|
||||
+ memset(&classHint, 0, sizeof(classHint));
|
||||
XGetClassHint(dpy, win(), &classHint);
|
||||
XFree(classHint.res_name);
|
||||
classHint.res_name = (char*)name;
|
||||
@ -0,0 +1,22 @@
|
||||
From 9e15952d02e01b8e19e7459bcabcd47dc63a1726 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre Ossman <ossman@cendio.se>
|
||||
Date: Tue, 22 Oct 2024 09:59:30 +0200
|
||||
Subject: [PATCH] Do proper top level window setup for selection window
|
||||
|
||||
---
|
||||
unix/x0vncserver/XSelection.cxx | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/unix/x0vncserver/XSelection.cxx b/unix/x0vncserver/XSelection.cxx
|
||||
index 72dd537f4..c724d2ac4 100644
|
||||
--- a/unix/x0vncserver/XSelection.cxx
|
||||
+++ b/unix/x0vncserver/XSelection.cxx
|
||||
@@ -37,7 +37,7 @@ XSelection::XSelection(Display* dpy_, XSelectionHandler* handler_)
|
||||
probeProperty = XInternAtom(dpy, "TigerVNC_ProbeProperty", False);
|
||||
transferProperty = XInternAtom(dpy, "TigerVNC_TransferProperty", False);
|
||||
timestampProperty = XInternAtom(dpy, "TigerVNC_TimestampProperty", False);
|
||||
- setName("TigerVNC Clipboard (x0vncserver)");
|
||||
+ toplevel("TigerVNC Clipboard (x0vncserver)");
|
||||
addEventMask(PropertyChangeMask); // Required for PropertyNotify events
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
|
||||
Name: tigervnc
|
||||
Version: 1.14.1
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: A TigerVNC remote display system
|
||||
|
||||
%global _hardened_build 1
|
||||
@ -31,6 +31,8 @@ Patch3: tigervnc-add-option-allowing-to-connect-only-user-owning-session
|
||||
# Upstream patches
|
||||
Patch50: tigervnc-vncsession-move-existing-log-to-log-old-if-present.patch
|
||||
Patch51: tigervnc-add-clipboard-support-to-x0vncserver.patch
|
||||
Patch52: tigervnc-do-proper-toplevel-window-setup-for-selection-window.patch
|
||||
Patch53: tigervnc-avoid-invalid-xfree-for-xclasshint.patch
|
||||
|
||||
# Upstreamable patches
|
||||
Patch80: tigervnc-dont-get-pointer-position-for-floating-device.patch
|
||||
@ -210,6 +212,8 @@ popd
|
||||
# Upstream patches
|
||||
%patch -P50 -p1 -b .vncsession-move-existing-log-to-log-old-if-present
|
||||
%patch -P51 -p1 -b .add-clipboard-support-to-x0vncserver
|
||||
%patch -P52 -p1 -b .do-proper-toplevel-window-setup-for-selection-window
|
||||
%patch -P53 -p1 -b .avoid-invalid-xfree-for-xclasshint
|
||||
|
||||
# Upstreamable patches
|
||||
%patch -P80 -p1 -b .dont-get-pointer-position-for-floating-device
|
||||
@ -396,8 +400,12 @@ fi
|
||||
%ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulename}
|
||||
|
||||
%changelog
|
||||
* Tue Jan 21 2025 Jan Grulich <jgrulich@redhat.com> - 1.14.1-4
|
||||
- Fix crash in clipboard support in x0vncserver
|
||||
Resolves: RHEL-74216
|
||||
|
||||
* Thu Jan 16 2025 Jan Grulich <jgrulich@redhat.com> - 1.14.1-3
|
||||
- Add cliboard support to x0vncserver
|
||||
- Add clipboard support to x0vncserver
|
||||
Resolves: RHEL-74216
|
||||
|
||||
* Thu Oct 31 2024 Jan Grulich <jgrulich@redhat.com> - 1.14.1-2
|
||||
|
||||
Loading…
Reference in New Issue
Block a user