From 19df074c1615cf71633c9a022799e78bc72040ce Mon Sep 17 00:00:00 2001 From: xurui Date: Fri, 8 May 2026 15:22:46 +0800 Subject: [PATCH 1/2] linux_drm_syncobj_v1: fix memory leak Signed-off-by: xurui --- types/wlr_linux_drm_syncobj_v1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/types/wlr_linux_drm_syncobj_v1.c b/types/wlr_linux_drm_syncobj_v1.c index b9865dcce..9cb0a4b7a 100644 --- a/types/wlr_linux_drm_syncobj_v1.c +++ b/types/wlr_linux_drm_syncobj_v1.c @@ -387,6 +387,7 @@ static void manager_handle_import_timeline(struct wl_client *client, struct wl_resource *timeline_resource = wl_resource_create(client, &wp_linux_drm_syncobj_timeline_v1_interface, version, id); if (timeline_resource == NULL) { + wlr_drm_syncobj_timeline_unref(timeline); wl_resource_post_no_memory(resource); return; } From 28d11d058053fb8596c18c01bb83592a884e02b6 Mon Sep 17 00:00:00 2001 From: xurui Date: Fri, 8 May 2026 15:24:21 +0800 Subject: [PATCH 2/2] linux_drm_syncobj_v1: fix inverted NULL check Signed-off-by: xurui --- types/wlr_linux_drm_syncobj_v1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/wlr_linux_drm_syncobj_v1.c b/types/wlr_linux_drm_syncobj_v1.c index 9cb0a4b7a..6d9188777 100644 --- a/types/wlr_linux_drm_syncobj_v1.c +++ b/types/wlr_linux_drm_syncobj_v1.c @@ -546,7 +546,7 @@ bool wlr_linux_drm_syncobj_v1_state_add_release_point( bool wlr_linux_drm_syncobj_v1_state_add_release_from_implicit_sync( struct wlr_linux_drm_syncobj_surface_v1_state *state, struct wlr_buffer *buffer, struct wl_event_loop *event_loop) { - if (state->release_merger != NULL) { + if (state->release_merger == NULL) { return true; } return wlr_drm_syncobj_merger_add_dmabuf(state->release_merger, buffer, event_loop);