summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c4
1 files changed, 3 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))
{