0
0
mirror of https://github.com/vim/vim.git synced 2025-08-31 20:53:42 -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:
zeertzjq 2025-07-20 16:50:01 +02:00 committed by Christian Brabandt
parent 9f4a80e2a7
commit c02bef26fd
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
2 changed files with 4 additions and 5 deletions

View File

@ -1822,6 +1822,8 @@ getcmdline_int(
int end_wildmenu;
int prev_cmdpos = ccline.cmdpos;
VIM_CLEAR(prev_cmdbuff);
redir_off = TRUE; // Don't redirect the typed command.
// Repeated, because a ":redir" inside
// completion may switch it on.
@ -2574,10 +2576,7 @@ cmdline_not_changed:
#ifdef FEAT_SEARCH_EXTRA
if (!is_state.incsearch_postponed)
{
VIM_CLEAR(prev_cmdbuff);
continue;
}
#endif
cmdline_changed:
@ -2595,8 +2594,6 @@ cmdline_changed:
ccline.cmdbuff, prev_cmdpos) != 0)))
trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINECHANGED);
VIM_CLEAR(prev_cmdbuff);
// Trigger CursorMovedC autocommands.
if (ccline.cmdpos != prev_cmdpos)
trigger_cmd_autocmd(cmdline_type, EVENT_CURSORMOVEDC);

View File

@ -719,6 +719,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1573,
/**/
1572,
/**/