# HG changeset patch # User Bram Moolenaar # Date 1592071204 -7200 # Node ID 1360541e8c74c93dd6b79c0d037da29476dd62c5 # Parent 1a9f8fe67cd7bb86090f518e141cc1b6c9e2a242 patch 8.2.0974: Vim9: memory leak when script var has wrong type Commit: https://github.com/vim/vim/commit/f3decc5830ef8d8d94902b76114935283dd4142e Author: Bram Moolenaar Date: Sat Jun 13 19:56:38 2020 +0200 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 --- 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 */ /**/ + 974, +/**/ 973, /**/ 972, diff --git a/src/vim9script.c b/src/vim9script.c --- a/src/vim9script.c +++ b/src/vim9script.c @@ -477,7 +477,10 @@ vim9_declare_scriptvar(exarg_T *eap, cha 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);