changeset 13236:fee03d646e42 v8.0.1492

patch 8.0.1492: memory leak in balloon_split() commit https://github.com/vim/vim/commit/b301f6b950975b9d7ae87a4f551b32bba63ccdcf Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 10 15:38:35 2018 +0100 patch 8.0.1492: memory leak in balloon_split() Problem: Memory leak in balloon_split(). Solution: Free the balloon lines. Free the balloon when exiting.
author Christian Brabandt <cb@256bit.org>
date Sat, 10 Feb 2018 15:45:07 +0100
parents 6f7bfbf0f237
children ffad83212c90
files src/evalfunc.c src/misc2.c src/version.c
diffstat 3 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1447,6 +1447,8 @@ f_balloon_split(typval_T *argvars, typva
 	    /* Skip the first and last item, they are always empty. */
 	    for (i = 1; i < size - 1; ++i)
 		list_append_string(rettv->vval.v_list, array[i].pum_text, -1);
+	    while (size > 0)
+		vim_free(array[--size].pum_text);
 	    vim_free(array);
 	}
     }
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -1116,6 +1116,10 @@ free_all_mem(void)
     spell_free_all();
 # endif
 
+#if defined(FEAT_INS_EXPAND) && defined(FEAT_BEVAL_TERM)
+    ui_remove_balloon();
+# endif
+
 # if defined(FEAT_USR_CMDS)
     /* Clear user commands (before deleting buffers). */
     ex_comclear(NULL);
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1492,
+/**/
     1491,
 /**/
     1490,