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.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 632b982..4b34538 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1447,6 +1447,8 @@
/* 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);
}
}
diff --git a/src/misc2.c b/src/misc2.c
index 368303e..0deccdf 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -1116,6 +1116,10 @@
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);
diff --git a/src/version.c b/src/version.c
index 1bd0295..be5f864 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1492,
+/**/
1491,
/**/
1490,