From: Bram Moolenaar Date: Wed, 25 Dec 2019 13:13:03 +0000 (+0100) Subject: patch 8.2.0041: leaking memory when selecting spell suggestion X-Git-Tag: v8.2.0041 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6c52f8237199ea09abbecdc5b89847c5889c3de1;p=vim 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. --- diff --git a/src/spellsuggest.c b/src/spellsuggest.c index adf090bbe..fdd549e47 100644 --- 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) { diff --git a/src/version.c b/src/version.c index aeadb364f..8ea652d5d 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 41, /**/ 40, /**/