- Update to version 1.8.2

* This is primarily a bug fix release, including further work on
    improving the thread-safety-constructor and making it work with
    software which had incorrectly called libX11 functions from
    inside X*IfEvent() calls.
- supersedes U_fix-a-memory-leak-in-XRegisterIMInstantiateCallback.patch

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libX11?expand=0&rev=85
This commit is contained in:
Stefan Dirsch 2022-11-11 10:08:32 +00:00 committed by Git OBS Bridge
parent 7af4ba4c04
commit 824c01fe50
5 changed files with 14 additions and 59 deletions

View File

@ -1,53 +0,0 @@
From 1d11822601fd24a396b354fa616b04ed3df8b4ef Mon Sep 17 00:00:00 2001
From: "Thomas E. Dickey" <dickey@invisible-island.net>
Date: Tue, 4 Oct 2022 18:26:17 -0400
Subject: [PATCH] fix a memory leak in XRegisterIMInstantiateCallback
Analysis:
_XimRegisterIMInstantiateCallback() opens an XIM and closes it using
the internal function pointers, but the internal close function does
not free the pointer to the XIM (this would be done in XCloseIM()).
Report/patch:
Date: Mon, 03 Oct 2022 18:47:32 +0800
From: Po Lu <luangruo@yahoo.com>
To: xorg-devel@lists.x.org
Subject: Re: Yet another leak in Xlib
For reference, here's how I'm calling XRegisterIMInstantiateCallback:
XSetLocaleModifiers ("");
XRegisterIMInstantiateCallback (compositor.display,
XrmGetDatabase (compositor.display),
(char *) compositor.resource_name,
(char *) compositor.app_name,
IMInstantiateCallback, NULL);
and XMODIFIERS is:
@im=ibus
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
---
modules/im/ximcp/imInsClbk.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/modules/im/ximcp/imInsClbk.c b/modules/im/ximcp/imInsClbk.c
index 95b379cb..c10e347f 100644
--- a/modules/im/ximcp/imInsClbk.c
+++ b/modules/im/ximcp/imInsClbk.c
@@ -212,6 +212,9 @@ _XimRegisterIMInstantiateCallback(
if( xim ) {
lock = True;
xim->methods->close( (XIM)xim );
+ /* XIMs must be freed manually after being opened; close just
+ does the protocol to deinitialize the IM. */
+ XFree( xim );
lock = False;
icb->call = True;
callback( display, client_data, NULL );
--
2.35.3

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1bc41aa1bbe01401f330d76dfa19f386b79c51881c7bbfee9eb4e27f22f2d9f7
size 1818460

3
libX11-1.8.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed91d573d570db83b8ae546f4890dccfcd0b9dfe1e50a1b401b63a74c152ed04
size 1823712

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Fri Nov 11 09:05:09 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>
- Update to version 1.8.2
* This is primarily a bug fix release, including further work on
improving the thread-safety-constructor and making it work with
software which had incorrectly called libX11 functions from
inside X*IfEvent() calls.
- supersedes U_fix-a-memory-leak-in-XRegisterIMInstantiateCallback.patch
-------------------------------------------------------------------
Wed Oct 19 08:45:08 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -17,7 +17,7 @@
Name: libX11
Version: 1.8.1
Version: 1.8.2
Release: 0
Summary: Core X11 protocol client library
License: MIT
@ -32,7 +32,6 @@ Patch1: p_xlib_skip_ext_env.diff
# PATCH-FIX-UPSTREAM en-locales.diff fdo#48596 bnc#388711 -- Add missing data for more en locales
Patch2: en-locales.diff
Patch3: u_no-longer-crash-in-XVisualIDFromVisual.patch
Patch1204422: U_fix-a-memory-leak-in-XRegisterIMInstantiateCallback.patch
BuildRequires: fdupes
BuildRequires: libtool
BuildRequires: pkgconfig
@ -136,7 +135,6 @@ test -f nls/ja.S90/XLC_LOCALE.pre && exit 1
%patch1
%patch2
%patch3 -p1
%patch1204422 -p1
%build
%configure \