]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
libx11: fix CVE-2022-3555 memory leak in _XFreeX11XCBStructure() of xcb_disp.c
authorVivek Kumbhar <vkumbhar@mvista.com>
Fri, 23 Dec 2022 07:10:23 +0000 (12:40 +0530)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 6 Jan 2023 17:30:31 +0000 (17:30 +0000)
Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/xorg-lib/libx11/CVE-2022-3555.patch [new file with mode: 0644]
meta/recipes-graphics/xorg-lib/libx11_1.6.9.bb

diff --git a/meta/recipes-graphics/xorg-lib/libx11/CVE-2022-3555.patch b/meta/recipes-graphics/xorg-lib/libx11/CVE-2022-3555.patch
new file mode 100644 (file)
index 0000000..855ce80
--- /dev/null
@@ -0,0 +1,38 @@
+From 8a368d808fec166b5fb3dfe6312aab22c7ee20af Mon Sep 17 00:00:00 2001
+From: Hodong <hodong@yozmos.com>
+Date: Thu, 20 Jan 2022 00:57:41 +0900
+Subject: [PATCH] Fix two memory leaks in _XFreeX11XCBStructure()
+
+Even when XCloseDisplay() was called, some memory was leaked.
+
+XCloseDisplay() calls _XFreeDisplayStructure(), which calls
+_XFreeX11XCBStructure().
+
+However, _XFreeX11XCBStructure() did not destroy the condition variables,
+resulting in the leaking of some 40 bytes.
+
+Signed-off-by: Hodong <hodong@yozmos.com>
+
+Upstream-Status: Backport from [https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/8a368d808fec166b5fb3dfe6312aab22c7ee20af]
+CVE:CVE-2022-3555
+Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
+---
+ src/xcb_disp.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/xcb_disp.c b/src/xcb_disp.c
+index 70a602f4..e9becee3 100644
+--- a/src/xcb_disp.c
++++ b/src/xcb_disp.c
+@@ -102,6 +102,8 @@ void _XFreeX11XCBStructure(Display *dpy)
+               dpy->xcb->pending_requests = tmp->next;
+               free(tmp);
+       }
++      xcondition_clear(dpy->xcb->event_notify);
++      xcondition_clear(dpy->xcb->reply_notify);
+       xcondition_free(dpy->xcb->event_notify);
+       xcondition_free(dpy->xcb->reply_notify);
+       Xfree(dpy->xcb);
+-- 
+2.18.2
+
index 72ab1d4150a4fc0393099bfeb141d943212c3fd0..ad3fab1204c201d7ae0f37f0eff83479b74ed9eb 100644 (file)
@@ -17,6 +17,7 @@ SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \
             file://CVE-2020-14363.patch \
             file://CVE-2021-31535.patch \
             file://CVE-2022-3554.patch \
+            file://CVE-2022-3555.patch \
 "
 
 SRC_URI[md5sum] = "55adbfb6d4370ecac5e70598c4e7eed2"