diff src/eval.c @ 8615:99aed8c33bbf v7.4.1597

commit https://github.com/vim/vim/commit/9f6154f26ef17b0a7efd2fcdd79cabfe510f28b4 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 19 14:22:11 2016 +0100 patch 7.4.1597 Problem: Memory leak when out of memory. (Coverity) Solution: Free the name.
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Mar 2016 14:30:06 +0100
parents 46306a98407c
children 80d78e1ab787
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -11904,7 +11904,9 @@ f_function(typval_T *argvars, typval_T *
 	    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))
 		{