mirror of
https://github.com/vim/vim.git
synced 2025-09-02 21:13:50 -04:00
patch 9.1.1573: Memory leak when pressing Ctrl-D in cmdline mode
Problem: Memory leak when pressing Ctrl-D in cmdline mode (after 9.1.1571). Solution: Free prev_cmdbuff before assigning to it. (zeertzjq). Existing tests already cover this. This change fixes the CI failure. closes: #17807 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
9f4a80e2a7
commit
c02bef26fd
@ -1822,6 +1822,8 @@ getcmdline_int(
|
|||||||
int end_wildmenu;
|
int end_wildmenu;
|
||||||
int prev_cmdpos = ccline.cmdpos;
|
int prev_cmdpos = ccline.cmdpos;
|
||||||
|
|
||||||
|
VIM_CLEAR(prev_cmdbuff);
|
||||||
|
|
||||||
redir_off = TRUE; // Don't redirect the typed command.
|
redir_off = TRUE; // Don't redirect the typed command.
|
||||||
// Repeated, because a ":redir" inside
|
// Repeated, because a ":redir" inside
|
||||||
// completion may switch it on.
|
// completion may switch it on.
|
||||||
@ -2574,10 +2576,7 @@ cmdline_not_changed:
|
|||||||
|
|
||||||
#ifdef FEAT_SEARCH_EXTRA
|
#ifdef FEAT_SEARCH_EXTRA
|
||||||
if (!is_state.incsearch_postponed)
|
if (!is_state.incsearch_postponed)
|
||||||
{
|
|
||||||
VIM_CLEAR(prev_cmdbuff);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
cmdline_changed:
|
cmdline_changed:
|
||||||
@ -2595,8 +2594,6 @@ cmdline_changed:
|
|||||||
ccline.cmdbuff, prev_cmdpos) != 0)))
|
ccline.cmdbuff, prev_cmdpos) != 0)))
|
||||||
trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINECHANGED);
|
trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINECHANGED);
|
||||||
|
|
||||||
VIM_CLEAR(prev_cmdbuff);
|
|
||||||
|
|
||||||
// Trigger CursorMovedC autocommands.
|
// Trigger CursorMovedC autocommands.
|
||||||
if (ccline.cmdpos != prev_cmdpos)
|
if (ccline.cmdpos != prev_cmdpos)
|
||||||
trigger_cmd_autocmd(cmdline_type, EVENT_CURSORMOVEDC);
|
trigger_cmd_autocmd(cmdline_type, EVENT_CURSORMOVEDC);
|
||||||
|
@ -719,6 +719,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1573,
|
||||||
/**/
|
/**/
|
||||||
1572,
|
1572,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user