git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit90bc035bc03d70afbbf7a889d2cef3b1dba7f8cb
parent8d7233bacc
authorIsaac Freund <mail@isaacfreund.com>
date2021-10-02 14:36
Server: fix use after free in deinit()

The input manager and seats must be destroyed before the display is
destroyed as they need to destroy their timer event sources used for key
repeat.

 river/Server.zig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/river/Server.zig b/river/Server.zig
index ebe90965..951ba9ec 100644
--- a/river/Server.zig
+++ b/river/Server.zig
@@ -144,10 +144,10 @@ pub fn deinit(self: *Self) void {
     self.backend.destroy();
 
     self.root.deinit();
+    self.input_manager.deinit();
 
     self.wl_server.destroy();
 
-    self.input_manager.deinit();
     self.config.deinit();
 }