changeset 18960:34aa888bf5ad v8.2.0041

patch 8.2.0041: leaking memory when selecting spell suggestion Commit: https://github.com/vim/vim/commit/6c52f8237199ea09abbecdc5b89847c5889c3de1 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Dec 25 14:13:03 2019 +0100 patch 8.2.0041: leaking memory when selecting spell suggestion Problem: Leaking memory when selecting spell suggestion. Solution: Free previous value at the right time.
author Bram Moolenaar <Bram@vim.org>
date Wed, 25 Dec 2019 14:15:03 +0100
parents 81a7d27a9e8e
children b7bfc651f3e4
files src/spellsuggest.c src/version.c
diffstat 2 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/spellsuggest.c
+++ b/src/spellsuggest.c
@@ -540,14 +540,10 @@ spell_suggest(int count)
     else if (count > 0)
     {
 	if (count > sug.su_ga.ga_len)
-	    smsg(_("Sorry, only %ld suggestions"),
-						      (long)sug.su_ga.ga_len);
+	    smsg(_("Sorry, only %ld suggestions"), (long)sug.su_ga.ga_len);
     }
     else
     {
-	VIM_CLEAR(repl_from);
-	VIM_CLEAR(repl_to);
-
 #ifdef FEAT_RIGHTLEFT
 	// When 'rightleft' is set the list is drawn right-left.
 	cmdmsg_rl = curwin->w_p_rl;
@@ -641,6 +637,9 @@ spell_suggest(int count)
     if (selected > 0 && selected <= sug.su_ga.ga_len && u_save_cursor() == OK)
     {
 	// Save the from and to text for :spellrepall.
+	VIM_CLEAR(repl_from);
+	VIM_CLEAR(repl_to);
+
 	stp = &SUG(sug.su_ga, selected - 1);
 	if (sug.su_badlen > stp->st_orglen)
 	{
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    41,
+/**/
     40,
 /**/
     39,