diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-07-09 19:17:55 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-07-09 19:17:55 +0200 |
commit | 90fba5627b361dbc970b3afc2eebf7411c49a0cc (patch) | |
tree | 3565391643590c32c85281582cba9b3a0d361c5a /src | |
parent | 6bcb18253a392cf75d3784953ef9c71de7af9019 (diff) |
patch 8.2.3133: Vim9: memory leak when add() failsv8.2.3133
Problem: Vim9: memory leak when add() fails.
Solution: Allocate listitem_T after type check.
Diffstat (limited to 'src')
-rw-r--r-- | src/list.c | 3 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/list.c b/src/list.c index 9aec823eef..d138d868cd 100644 --- a/src/list.c +++ b/src/list.c @@ -602,11 +602,12 @@ list_append(list_T *l, listitem_T *item) int list_append_tv(list_T *l, typval_T *tv) { - listitem_T *li = listitem_alloc(); + listitem_T *li; if (l->lv_type != NULL && l->lv_type->tt_member != NULL && check_typval_arg_type(l->lv_type->tt_member, tv, 0) == FAIL) return FAIL; + li = listitem_alloc(); if (li == NULL) return FAIL; copy_tv(tv, &li->li_tv); diff --git a/src/version.c b/src/version.c index e2108a025a..39d8f1455c 100644 --- a/src/version.c +++ b/src/version.c @@ -756,6 +756,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3133, +/**/ 3132, /**/ 3131, |