aboutsummaryrefslogtreecommitdiff
path: root/backend/libinput/backend.c
diff options
context:
space:
mode:
authorDan Robertson <dan.robertson@anidata.org>2018-02-25 02:26:56 +0000
committerDan Robertson <dan.robertson@anidata.org>2018-02-25 02:26:56 +0000
commit99e6cba3c307396e95ef1a4034c701db88b187ce (patch)
tree8ca4cfc962652fd09c5508ec6ff42af6ca39cb1d /backend/libinput/backend.c
parent9dc868a27fde02acd5f61baf3ebd9ca98f26d420 (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.c4
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);
}