diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-06-13 19:56:38 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-06-13 19:56:38 +0200 |
commit | f3decc5830ef8d8d94902b76114935283dd4142e (patch) | |
tree | 1294cbac103d2eab3559bfcfca349b2c99e39e68 | |
parent | 34db91f7a47b7bd4aabf1e1dfbaa8a08278bf78d (diff) | |
download | vim-git-f3decc5830ef8d8d94902b76114935283dd4142e.tar.gz |
patch 8.2.0974: Vim9: memory leak when script var has wrong typev8.2.0974
Problem: Vim9: memory leak when script var has wrong type.
Solution: Free the variable name.
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9script.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/version.c b/src/version.c index d2f442c89..1f9190328 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 */ /**/ + 974, +/**/ 973, /**/ 972, diff --git a/src/vim9script.c b/src/vim9script.c index 13a29ec3a..650168419 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); |