From 0107f5ba87ca9427500d0fc42ec80a1f3fca9fdb Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 28 Dec 2015 22:51:20 +0100 Subject: patch 7.4.989 Problem: Leaking memory when hash_add() fails. Coverity error 99126. Solution: When hash_add() fails free the memory. --- src/eval.c | 6 +++++- src/version.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/eval.c b/src/eval.c index a2d2939ba..eca8224eb 100644 --- a/src/eval.c +++ b/src/eval.c @@ -23095,7 +23095,11 @@ ex_function(eap) /* insert the new function in the function list */ STRCPY(fp->uf_name, name); - hash_add(&func_hashtab, UF2HIKEY(fp)); + if (hash_add(&func_hashtab, UF2HIKEY(fp)) == FAIL) + { + vim_free(fp); + goto erret; + } } fp->uf_args = newargs; fp->uf_lines = newlines; diff --git a/src/version.c b/src/version.c index fcc22cd84..ddf260bbf 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 989, /**/ 988, /**/ -- cgit v1.2.1