Files
buildroot/package/cog/0003-fdo-ensure-xkb_data.keymap-is-not-null-before-callin.patch
James Hilliard 2e2f8c76cd package/cog: fix segfaults on null xkb_data keymap/state
Fixes:
Program terminated with signal SIGSEGV, Segmentation fault.
#0  xkb_state_key_get_layout (state=state@entry=0x0, kc=kc@entry=50) at ../src/state.c:217

Program terminated with signal SIGSEGV, Segmentation fault.
#0  XkbKey (kc=kc@entry=45, keymap=0x0) at ../src/keymap.h:430

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 75fbc58f3f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:09:46 +02:00

31 lines
1.2 KiB
Diff

From 817f6c9dafd5ad23722eae0a8f43ba9211f37c95 Mon Sep 17 00:00:00 2001
From: James Hilliard <james.hilliard1@gmail.com>
Date: Thu, 26 Mar 2020 07:49:05 -0600
Subject: [PATCH] fdo: ensure xkb_data.keymap is not null before calling
xkb_keymap_key_repeats (#193)
[james.hilliard1@gmail.com: backport from upstream commit
817f6c9dafd5ad23722eae0a8f43ba9211f37c95]
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
platform/cog-platform-fdo.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/platform/cog-platform-fdo.c b/platform/cog-platform-fdo.c
index 93ff255..ecc05e9 100644
--- a/platform/cog-platform-fdo.c
+++ b/platform/cog-platform-fdo.c
@@ -990,7 +990,8 @@ keyboard_on_key (void *data,
memset (&wl_data.keyboard.repeat_data,
0x00,
sizeof (wl_data.keyboard.repeat_data));
- } else if (state == WL_KEYBOARD_KEY_STATE_PRESSED
+ } else if (xkb_data.keymap != NULL
+ && state == WL_KEYBOARD_KEY_STATE_PRESSED
&& xkb_keymap_key_repeats (xkb_data.keymap, key)) {
if (wl_data.keyboard.repeat_data.event_source)
g_source_remove (wl_data.keyboard.repeat_data.event_source);
--
2.20.1