From 6dfe238ff1e756bc51a609143d22f0659e3e89c8 Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Thu, 30 May 2019 23:38:48 -0400 Subject: [PATCH] zwp_virtual-keyboard: fix mmap error handling If mmap fails, it will return MAP_FAILED not NULL. Since the error handling was incorrectly checking for NULL, MAP_FAILED was being passed to xkb_keymap_new_from_string, on mmap failure, causing a segfault. This just fixes the error checking. --- types/wlr_virtual_keyboard_v1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/wlr_virtual_keyboard_v1.c b/types/wlr_virtual_keyboard_v1.c index e5463295..ffbd8a4e 100644 --- a/types/wlr_virtual_keyboard_v1.c +++ b/types/wlr_virtual_keyboard_v1.c @@ -51,7 +51,7 @@ static void virtual_keyboard_keymap(struct wl_client *client, goto context_fail; } void *data = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); - if (!data) { + if (data == MAP_FAILED) { goto fd_fail; } struct xkb_keymap *keymap = xkb_keymap_new_from_string(context, data,