aboutsummaryrefslogtreecommitdiff
path: root/rootston
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-02-23 10:24:28 +0100
committeremersion <contact@emersion.fr>2018-02-23 10:24:28 +0100
commit5dba27216c760b9d750a75209a228efef499d08f (patch)
tree47afbac36e80edf0e22c0409e901649ceaf7a39e /rootston
parentb1e2718dd72ec4526d862a3ab059b7d37aeb9af8 (diff)
rootston: fix use-after-free in handle_keyboard_destroy
Diffstat (limited to 'rootston')
-rw-r--r--rootston/seat.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/rootston/seat.c b/rootston/seat.c
index 38c26628..1b7d05c4 100644
--- a/rootston/seat.c
+++ b/rootston/seat.c
@@ -408,10 +408,10 @@ static void handle_keyboard_destroy(struct wl_listener *listener, void *data) {
struct roots_keyboard *keyboard =
wl_container_of(listener, keyboard, device_destroy);
struct roots_seat *seat = keyboard->seat;
- roots_keyboard_destroy(keyboard);
wl_list_remove(&keyboard->device_destroy.link);
wl_list_remove(&keyboard->keyboard_key.link);
wl_list_remove(&keyboard->keyboard_modifiers.link);
+ roots_keyboard_destroy(keyboard);
seat_update_capabilities(seat);
}