From f3decc5830ef8d8d94902b76114935283dd4142e Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 13 Jun 2020 19:56:38 +0200 Subject: [PATCH] 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. --- src/version.c | 2 ++ src/vim9script.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/version.c b/src/version.c index d2f442c89..1f9190328 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 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);