diff --git a/0001-XRes-Use-_XRead-instead-of-_XRead32-for-reading-pid.patch b/0001-XRes-Use-_XRead-instead-of-_XRead32-for-reading-pid.patch new file mode 100644 index 0000000..03b709c --- /dev/null +++ b/0001-XRes-Use-_XRead-instead-of-_XRead32-for-reading-pid.patch @@ -0,0 +1,33 @@ +From 3e6bdd90c604e061c71715865eb403ffdd0dd7f0 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 21 Oct 2020 10:03:23 -0400 +Subject: [PATCH] XRes: Use _XRead instead of _XRead32 for reading pid + +_XRead32 requires the output variable to be a long, but +`ReadClientValues` feeds it client->value which is a +32-bit allocation. + +This commit changes the code to use _XRead instead, which +properly handles 32-bit output variables. + +https://gitlab.freedesktop.org/xorg/lib/libxres/-/issues/3 +--- + src/XRes.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/XRes.c b/src/XRes.c +index 2bee277..90e72c9 100644 +--- a/src/XRes.c ++++ b/src/XRes.c +@@ -256,7 +256,7 @@ static Bool ReadClientValues( + _XRead32 (dpy, &value, 4); + client->length = value; + client->value = malloc(client->length); +- _XRead32 (dpy, client->value, client->length); ++ _XRead (dpy, client->value, client->length); + } + return True; + } +-- +2.28.0 + diff --git a/libXres.spec b/libXres.spec index db5215f..5bdd0c7 100644 --- a/libXres.spec +++ b/libXres.spec @@ -5,7 +5,7 @@ Summary: X-Resource extension client library Name: libXres Version: 1.2.0 -Release: 9%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} +Release: 10%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} License: MIT URL: http://www.x.org @@ -16,6 +16,11 @@ Source2: commitid %else Source0: https://www.x.org/pub/individual/lib/%{name}-%{version}.tar.bz2 %endif +# Fixes a bug which causes metacity 3.38.0+ to crash on startup: +# https://bugzilla.redhat.com/show_bug.cgi?id=1888993 +# https://gitlab.freedesktop.org/xorg/lib/libxres/-/issues/3 +# https://gitlab.freedesktop.org/xorg/lib/libxres/-/merge_requests/1 +Patch0: 0001-XRes-Use-_XRead-instead-of-_XRead32-for-reading-pid.patch Requires: libX11 >= 1.5.99.902 @@ -37,6 +42,7 @@ X.Org X11 libXres development package %prep %setup -q -n %{tarball}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}} +%patch0 -p1 %build autoreconf -v --install --force @@ -66,6 +72,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %{_mandir}/man3/*.3* %changelog +* Wed Oct 21 2020 Adam Williamson - 1.2.0-10 +- Backport upstream MR #1 to fix RHBZ #1888993 (metacity crash) + * Tue Jul 28 2020 Fedora Release Engineering - 1.2.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild