rootston: fix use-after-free in handle_keyboard_destroy

This commit is contained in:
emersion 2018-02-23 10:24:28 +01:00
parent b1e2718dd7
commit 5dba27216c
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
1 changed files with 1 additions and 1 deletions

View File

@ -408,10 +408,10 @@ static void handle_keyboard_destroy(struct wl_listener *listener, void *data) {
struct roots_keyboard *keyboard = struct roots_keyboard *keyboard =
wl_container_of(listener, keyboard, device_destroy); wl_container_of(listener, keyboard, device_destroy);
struct roots_seat *seat = keyboard->seat; struct roots_seat *seat = keyboard->seat;
roots_keyboard_destroy(keyboard);
wl_list_remove(&keyboard->device_destroy.link); wl_list_remove(&keyboard->device_destroy.link);
wl_list_remove(&keyboard->keyboard_key.link); wl_list_remove(&keyboard->keyboard_key.link);
wl_list_remove(&keyboard->keyboard_modifiers.link); wl_list_remove(&keyboard->keyboard_modifiers.link);
roots_keyboard_destroy(keyboard);
seat_update_capabilities(seat); seat_update_capabilities(seat);
} }