From 667707c02971412df8680b1527e9b72550c3e307 Mon Sep 17 00:00:00 2001 From: Alex Chernika Date: Sat, 11 Apr 2026 16:46:41 +0200 Subject: [PATCH] menu: prevent memory leak when cycling through menu items --- src/menu/menu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/menu/menu.c b/src/menu/menu.c index deec5123..7522e6bc 100644 --- a/src/menu/menu.c +++ b/src/menu/menu.c @@ -1475,7 +1475,7 @@ bool menu_item_select_by_accelerator(char accelerator) { struct menu *menu = get_selection_leaf(); - if (!menu) { + if (!menu || wl_list_empty(&menu->menuitems)) { return false; } @@ -1489,6 +1489,10 @@ menu_item_select_by_accelerator(char accelerator) struct menuitem *next_selection = NULL; do { current = current->next; + if (current == &menu->menuitems) { + /* Allow wrap around */ + continue; + } item = wl_container_of(current, item, link); if (item->accelerator == accelerator) { if (!matched) {