From: Bram Moolenaar Date: Wed, 28 Jul 2021 20:21:23 +0000 (+0200) Subject: patch 8.2.3241: Vim9: memory leak when function reports an error X-Git-Tag: v8.2.3241 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6e850a6900793e215c08b39d6490173488cb05ce;p=thirdparty%2Fvim.git patch 8.2.3241: Vim9: memory leak when function reports an error Problem: Vim9: memory leak when function reports an error. Solution: Clear the return value. --- diff --git a/src/userfunc.c b/src/userfunc.c index 2adef7c18a..045692c7f1 100644 --- a/src/userfunc.c +++ b/src/userfunc.c @@ -1691,9 +1691,12 @@ get_func_tv( ret = call_func(name, len, rettv, argcount, argvars, funcexe); if (in_vim9script() && did_emsg > did_emsg_before) + { // An error in a builtin function does not return FAIL, but we do // want to abort further processing if an error was given. ret = FAIL; + clear_tv(rettv); + } funcargs.ga_len -= i; } diff --git a/src/version.c b/src/version.c index 13b6425dc8..897e3fb95f 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3241, /**/ 3240, /**/