]> granicus.if.org Git - vim/commitdiff
patch 8.0.0235: memory leak in diff mode v8.0.0235
authorBram Moolenaar <Bram@vim.org>
Tue, 24 Jan 2017 19:14:48 +0000 (20:14 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 24 Jan 2017 19:14:48 +0000 (20:14 +0100)
Problem:    Memory leak detected when running tests for diff mode.
Solution:   Free p_extra_free.

src/screen.c
src/version.c

index 016e7ee3e9a83ab9d75fe7e8f8bce59871e7c9ff..e37bf483825e45b593f96c3b54e9db299ffb332a 100644 (file)
@@ -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;
 }
 
index 8622e6d17a0530dcbf7297d0a68666bb9891279d..65208d0a0e5c00cdc1cb9aeafba1f82287670ad0 100644 (file)
@@ -764,6 +764,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    235,
 /**/
     234,
 /**/