From: tokyo4j Date: Wed, 13 Nov 2024 14:57:42 +0000 (+0900) Subject: menu: fix UAF of server->menu_current X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=d5daee6b96191c587d8b0159a734e19c67612e7d;p=proto%2Flabwc.git menu: fix UAF of server->menu_current This fixes segfault when exiting with a menu opened, which is a regression from eaf11fac. --- 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);