diff --git a/CHANGELOG.md b/CHANGELOG.md index 61559359..a14b0fab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -91,6 +91,8 @@ space inserted at the end of the current line. * Wrong key bindings executed when using alternative keyboard layouts ([#1929][1929]). +* Foot not closing file descriptors for unrecognized or `no_keymap` + keymaps. [1918]: https://codeberg.org/dnkl/foot/issues/1918 [1929]: https://codeberg.org/dnkl/foot/issues/1929 diff --git a/input.c b/input.c index 2db696c1..a2f30a0c 100644 --- a/input.c +++ b/input.c @@ -527,6 +527,7 @@ keyboard_keymap(void *data, struct wl_keyboard *wl_keyboard, /* Verify keymap is in a format we understand */ switch ((enum wl_keyboard_keymap_format)format) { case WL_KEYBOARD_KEYMAP_FORMAT_NO_KEYMAP: + close(fd); return; case WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1: @@ -534,6 +535,7 @@ keyboard_keymap(void *data, struct wl_keyboard *wl_keyboard, default: LOG_WARN("unrecognized keymap format: %u", format); + close(fd); return; }