Merge pull request #1106 from martinetd/seat-destroy-uaf

wlr_seat destroy: fix use-after-free after primary selection source cancel
This commit is contained in:
emersion 2018-07-01 13:23:50 +01:00 committed by GitHub
commit 55dba13c6e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 1 deletions

View File

@ -168,9 +168,9 @@ void wlr_seat_destroy(struct wlr_seat *seat) {
seat->selection_source = NULL; seat->selection_source = NULL;
} }
if (seat->primary_selection_source) { if (seat->primary_selection_source) {
wl_list_remove(&seat->primary_selection_source_destroy.link);
seat->primary_selection_source->cancel(seat->primary_selection_source); seat->primary_selection_source->cancel(seat->primary_selection_source);
seat->primary_selection_source = NULL; seat->primary_selection_source = NULL;
wl_list_remove(&seat->primary_selection_source_destroy.link);
} }
struct wlr_seat_client *client, *tmp; struct wlr_seat_client *client, *tmp;