From d5daee6b96191c587d8b0159a734e19c67612e7d Mon Sep 17 00:00:00 2001 From: tokyo4j Date: Wed, 13 Nov 2024 23:57:42 +0900 Subject: [PATCH] menu: fix UAF of server->menu_current This fixes segfault when exiting with a menu opened, which is a regression from eaf11fac. --- src/menu/menu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/menu/menu.c b/src/menu/menu.c index c8e6c10b..6e6199f1 100644 --- a/src/menu/menu.c +++ b/src/menu/menu.c @@ -1140,6 +1140,10 @@ menu_free(struct menu *menu) /* Keep items clean on pipemenu destruction */ nullify_item_pointing_to_this_menu(menu); + if (menu->server->menu_current == menu) { + menu_close_root(menu->server); + } + struct menuitem *item, *next; wl_list_for_each_safe(item, next, &menu->menuitems, link) { item_destroy(item); -- 2.52.0