mirror of
https://github.com/neovim/neovim.git
synced 2025-09-15 07:48:18 +00:00
ex_getln: Do not goto color_cmdline_end without first cleaning up
The issue with debug mode was actually not cleaning up after `try_enter`: location `&tstate` was pointing to got invalidated and received some “garbage” (actually, values that got stored on the stack afterwards). But pointer to that garbage was still stored in `msg_list`, so next attempt to check it resulted in a crash.
This commit is contained in:
@@ -2372,8 +2372,6 @@ static bool color_cmdline(void)
|
||||
dgc_ret = tv_dict_get_callback(&globvardict, S_LEN("Nvim_color_expr"),
|
||||
&color_cb);
|
||||
can_free_cb = true;
|
||||
} else {
|
||||
goto color_cmdline_end;
|
||||
}
|
||||
if (!try_leave(&tstate, &err) || !dgc_ret) {
|
||||
goto color_cmdline_error;
|
||||
|
Reference in New Issue
Block a user