From 897799da5a94be19fd2c7226f85db046e1005dfc Mon Sep 17 00:00:00 2001 From: Consolatis <35009135+Consolatis@users.noreply.github.com> Date: Tue, 4 Feb 2025 15:09:45 +0100 Subject: [PATCH] server: on exit, destroy backends first This fixes a UAF caused by trying to update the xcursor in a output destroy handler, in turn caused by destroying the backend. Fixes: #2539 --- src/server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index bffea515..7093903f 100644 --- a/src/server.c +++ b/src/server.c @@ -757,9 +757,9 @@ server_finish(struct server *server) wl_event_source_remove(sighup_source); } wl_display_destroy_clients(server->wl_display); + wlr_backend_destroy(server->backend); wlr_allocator_destroy(server->allocator); wlr_renderer_destroy(server->renderer); - wlr_backend_destroy(server->backend); seat_finish(server); workspaces_destroy(server); wlr_scene_node_destroy(&server->scene->tree.node);