term: destroy: free URLs before free:ing the grids

Fixes use-after-free when destroying a terminal with “live”
URLs (i.e. when URL mode is active).
This commit is contained in:
Daniel Eklöf 2021-06-28 22:33:57 +02:00
parent 5dca0458a0
commit 117e24dbf4
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -1425,10 +1425,10 @@ term_destroy(struct terminal *term)
}
mtx_unlock(&term->render.workers.lock);
urls_reset(term);
free(term->vt.osc.data);
free(term->vt.osc8.uri);
grid_free(&term->normal);
grid_free(&term->alt);
composed_free(term->composed);
@ -1471,9 +1471,11 @@ term_destroy(struct terminal *term)
sixel_fini(term);
urls_reset(term);
term_ime_reset(term);
grid_free(&term->normal);
grid_free(&term->alt);
free(term->foot_exe);
free(term->cwd);