From c02bef26fdfbffd442cbc5acef375256fa7fd6ff Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 20 Jul 2025 16:50:01 +0200 Subject: [PATCH] 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 Signed-off-by: Christian Brabandt --- src/ex_getln.c | 7 ++----- src/version.c | 2 ++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ex_getln.c b/src/ex_getln.c index 47187aa92a..5ee94d2197 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -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); diff --git a/src/version.c b/src/version.c index b35dac2427..251b4decb0 100644 --- a/src/version.c +++ b/src/version.c @@ -719,6 +719,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1573, /**/ 1572, /**/ -- 2.47.2