From 0cbdf657a78d2932ef9435f53645c7bb9a4cd28a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sun, 31 Jan 2021 11:53:12 +0100 Subject: [PATCH] term: destroy: set term->window = NULL after destroying it This fixes a crash in urls_reset() on destroy, where we tried to access an already free:d window pointer in order to destroy the jump label surfaces. --- terminal.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/terminal.c b/terminal.c index 1eed0966..624b7a21 100644 --- a/terminal.c +++ b/terminal.c @@ -1405,8 +1405,10 @@ term_destroy(struct terminal *term) fdm_del(term->fdm, term->flash.fd); fdm_del(term->fdm, term->ptmx); - if (term->window != NULL) + if (term->window != NULL) { wayl_win_destroy(term->window); + term->window = NULL; + } mtx_lock(&term->render.workers.lock); xassert(tll_length(term->render.workers.queue) == 0);