# HG changeset patch # User Christian Brabandt # Date 1451340004 -3600 # Node ID adc796ba7dda23434ae8ab477cd8f7ed89cb9ecf # Parent 49b3b41dfe5c4c472c8432c36ef42f7f8b76c60c commit https://github.com/vim/vim/commit/0107f5ba87ca9427500d0fc42ec80a1f3fca9fdb Author: Bram Moolenaar Date: Mon Dec 28 22:51:20 2015 +0100 patch 7.4.989 Problem: Leaking memory when hash_add() fails. Coverity error 99126. Solution: When hash_add() fails free the memory. diff --git a/src/eval.c b/src/eval.c --- 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 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 989, +/**/ 988, /**/ 987,