diff options
author | Dan Robertson <dan.robertson@anidata.org> | 2018-02-25 02:26:56 +0000 |
---|---|---|
committer | Dan Robertson <dan.robertson@anidata.org> | 2018-02-25 02:26:56 +0000 |
commit | 99e6cba3c307396e95ef1a4034c701db88b187ce (patch) | |
tree | 8ca4cfc962652fd09c5508ec6ff42af6ca39cb1d /backend/libinput/backend.c | |
parent | 9dc868a27fde02acd5f61baf3ebd9ca98f26d420 (diff) |
Fix null deref in wlr_libinput_backend_destroy
If input_event is null (e.g. if backend_start has not been called yet)
wl_event_source_remove will result in a null deref.
Diffstat (limited to 'backend/libinput/backend.c')
-rw-r--r-- | backend/libinput/backend.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/backend/libinput/backend.c b/backend/libinput/backend.c index 71fe0d93..1e7c1ad4 100644 --- a/backend/libinput/backend.c +++ b/backend/libinput/backend.c @@ -118,7 +118,9 @@ static void wlr_libinput_backend_destroy(struct wlr_backend *wlr_backend) { wl_list_remove(&backend->session_signal.link); wlr_list_finish(&backend->wlr_device_lists); - wl_event_source_remove(backend->input_event); + if (backend->input_event) { + wl_event_source_remove(backend->input_event); + } libinput_unref(backend->libinput_context); free(backend); } |