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:
commit
55dba13c6e
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue