summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-03-19 14:22:11 +0100
committerBram Moolenaar <Bram@vim.org>2016-03-19 14:22:11 +0100
commit9f6154f26ef17b0a7efd2fcdd79cabfe510f28b4 (patch)
tree81efa8134521e60f78a6ff1e0b09e9d77f85d4a0
parentba8cd122ef60a7c71a7723be0d635f0c2d4556ab (diff)
downloadvim-git-9f6154f26ef17b0a7efd2fcdd79cabfe510f28b4.tar.gz
patch 7.4.1597v7.4.1597
Problem: Memory leak when out of memory. (Coverity) Solution: Free the name.
-rw-r--r--src/eval.c4
-rw-r--r--src/version.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index 5fc4bd4ff..a2288f9f2 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -11904,7 +11904,9 @@ f_function(typval_T *argvars, typval_T *rettv)
partial_T *pt = (partial_T *)alloc_clear(sizeof(partial_T));
/* result is a VAR_PARTIAL */
- if (pt != NULL)
+ if (pt == NULL)
+ vim_free(name);
+ else
{
if (arg_idx > 0 || (arg_pt != NULL && arg_pt->pt_argc > 0))
{
diff --git a/src/version.c b/src/version.c
index 081d14c46..4d0c25046 100644
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1597,
+/**/
1596,
/**/
1595,