From 8a368d808fec166b5fb3dfe6312aab22c7ee20af Mon Sep 17 00:00:00 2001 From: Hodong Date: Thu, 20 Jan 2022 00:57:41 +0900 Subject: [PATCH] Fix two memory leaks in _XFreeX11XCBStructure() Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/8a368d808fec166b5fb3dfe6312aab22c7ee20af] CVE: CVE-2022-3555 Signed-off-by: Hitendra Prajapati 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: default avatarHodong --- src/xcb_disp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xcb_disp.c b/src/xcb_disp.c index 70a602f..e9becee 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.25.1