From: Bram Moolenaar Date: Sat, 13 Jun 2020 17:56:38 +0000 (+0200) Subject: patch 8.2.0974: Vim9: memory leak when script var has wrong type X-Git-Tag: v8.2.0974 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=f3decc5830ef8d8d94902b76114935283dd4142e;p=thirdparty%2Fvim.git patch 8.2.0974: Vim9: memory leak when script var has wrong type Problem: Vim9: memory leak when script var has wrong type. Solution: Free the variable name. --- diff --git a/src/version.c b/src/version.c index d2f442c89a..1f91903289 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 974, /**/ 973, /**/ diff --git a/src/vim9script.c b/src/vim9script.c index 13a29ec3a9..650168419c 100644 --- a/src/vim9script.c +++ b/src/vim9script.c @@ -477,7 +477,10 @@ vim9_declare_scriptvar(exarg_T *eap, char_u *arg) p = skipwhite(p + 1); type = parse_type(&p, &si->sn_type_list); if (called_emsg != called_emsg_before) + { + vim_free(name); return p; + } // Create the variable with 0/NULL value. CLEAR_FIELD(init_tv);