From c076f03dc49335a72e78c3b8a31f58edba1e5857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 18 Dec 2021 20:39:08 +0100 Subject: [PATCH] config: error out on empty key- or mouse binding Closes #851 --- CHANGELOG.md | 2 ++ config.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1904fd5d..9a972955 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -62,6 +62,8 @@ CSI codes in the Kitty keyboard protocol. * Assertion in `shm.c:buffer_release()` (https://codeberg.org/dnkl/foot/issues/844). +* Crash when setting a key- or mouse binding to the empty string + (https://codeberg.org/dnkl/foot/issues/851). ### Security diff --git a/config.c b/config.c index 50fb74e6..2b7ad378 100644 --- a/config.c +++ b/config.c @@ -1726,6 +1726,12 @@ value_to_key_combos(struct context *ctx, int action, struct argv *argv, } + if (idx == 0) { + LOG_CONTEXTUAL_ERR( + "empty binding not allowed (set to 'none' to unmap)"); + goto err; + } + remove_from_key_bindings_list(bindings, action, argv); bindings->arr = xrealloc(