Reported-by: @jlindgren90
Fixes #3106
void actions_run(struct view *activator, struct server *server,
struct wl_list *actions, struct cursor_context *ctx);
+void action_prompts_destroy(void);
bool action_check_prompt_result(pid_t pid, int exit_code);
void action_free(struct action *action);
buf_reset(&command);
}
+void
+action_prompts_destroy(void)
+{
+ struct action_prompt *prompt, *tmp;
+ wl_list_for_each_safe(prompt, tmp, &prompts, link) {
+ action_prompt_destroy(prompt);
+ }
+}
+
bool
action_check_prompt_result(pid_t pid, int exit_code)
{
static void
reload_config_and_theme(struct server *server)
{
+ /* Avoid UAF when dialog client is used during reconfigure */
+ action_prompts_destroy();
+
scaled_buffer_invalidate_sharing();
rcxml_finish();
rcxml_read(rc.config_file);