patch 8.1.2286: using border highlight in popup window leaks memory
Problem: Using border highlight in popup window leaks memory.
Solution: Free memory before overwriting. (Dominique Pelle, closes #5203)
diff --git a/src/popupwin.c b/src/popupwin.c
index ac8fff3..41839b4 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -755,12 +755,18 @@
{
str = tv_get_string(&li->li_tv);
if (*str != NUL)
+ {
+ vim_free(wp->w_border_highlight[i]);
wp->w_border_highlight[i] = vim_strsave(str);
+ }
}
if (list->lv_len == 1 && wp->w_border_highlight[0] != NULL)
for (i = 1; i < 4; ++i)
+ {
+ vim_free(wp->w_border_highlight[i]);
wp->w_border_highlight[i] =
vim_strsave(wp->w_border_highlight[0]);
+ }
}
}