summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-01-24 20:14:48 +0100
committerBram Moolenaar <Bram@vim.org>2017-01-24 20:14:48 +0100
commitb031c4ea04eb1e37a873fbb85e90d835aa1e2b1c (patch)
treecdb30ba1e3da7a2e3380ce32d445ca050d12ca60
parent941c12da3c087fd04aa6c120a76bf28f19349d96 (diff)
downloadvim-git-b031c4ea04eb1e37a873fbb85e90d835aa1e2b1c.tar.gz
patch 8.0.0235: memory leak in diff modev8.0.0235
Problem: Memory leak detected when running tests for diff mode. Solution: Free p_extra_free.
-rw-r--r--src/screen.c4
-rw-r--r--src/version.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/screen.c b/src/screen.c
index 016e7ee3e..e37bf4838 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -3651,6 +3651,7 @@ win_line(
{
/* Draw the 'foldcolumn'. Allocate a buffer, "extra" may
* already be in use. */
+ vim_free(p_extra_free);
p_extra_free = alloc(12 + 1);
if (p_extra_free != NULL)
@@ -4695,6 +4696,7 @@ win_line(
p = alloc((unsigned)(len + 1));
vim_memset(p, ' ', len);
p[len] = NUL;
+ vim_free(p_extra_free);
p_extra_free = p;
for (i = 0; i < tab_len; i++)
{
@@ -4857,6 +4859,7 @@ win_line(
vim_memset(p, ' ', n_extra);
STRNCPY(p, p_extra + 1, STRLEN(p_extra) - 1);
p[n_extra] = NUL;
+ vim_free(p_extra_free);
p_extra_free = p_extra = p;
}
else
@@ -5784,6 +5787,7 @@ win_line(
}
#endif
+ vim_free(p_extra_free);
return row;
}
diff --git a/src/version.c b/src/version.c
index 8622e6d17..65208d0a0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 235,
+/**/
234,
/**/
233,