From fb5ab022de00bf1b7b30c57e00ffaaf2beb16610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Wed, 18 Mar 2020 10:48:42 +0100 Subject: [PATCH] input: key-binding: log error when we fail to translate to XKB symbol --- input.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/input.c b/input.c index 7ca5e1ea..b9f1a7d0 100644 --- a/input.c +++ b/input.c @@ -117,7 +117,7 @@ input_parse_key_binding_for_action( return true; xkb_mod_mask_t mod_mask = 0; - xkb_keysym_t sym = 0; + xkb_keysym_t sym = XKB_KEY_NoSymbol; char *copy = strdup(combos); @@ -146,11 +146,20 @@ input_parse_key_binding_for_action( } else { /* Symbol */ sym = xkb_keysym_from_name(key, 0); + + if (sym == XKB_KEY_NoSymbol) { + LOG_ERR("%s: key binding is not a valid XKB symbol name", + key); + break; + } } } LOG_DBG("action=%u: mods=0x%08x, sym=%d", action, mod_mask, sym); + if (sym == XKB_KEY_NoSymbol) + continue; + assert(sym != 0); if (bindings != NULL) { const struct key_binding binding = {