diff options
author | Christian Brabandt <cb@256bit.org> | 2024-04-16 22:23:17 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-04-16 22:23:17 +0200 |
commit | f7d31adcc22eae852d6e7a5b59e9755ba7b51d35 (patch) | |
tree | 7dfcab9b1a01a58b7b284ae2347e0e5261a3fb60 /src/match.c | |
parent | 8560e6cf9797ea1d55ecaea6bf8ee8ec783c291a (diff) |
patch 9.1.0340: Problem: Error with matchaddpos() and empty listv9.1.0340
Problem: Error with matchaddpos() and empty list
(@rickhow)
Solution: Return early for an empty list
fixes: #14525
closes: #14563
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/match.c')
-rw-r--r-- | src/match.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/match.c b/src/match.c index f59c2066a1..bc50757b37 100644 --- a/src/match.c +++ b/src/match.c @@ -87,7 +87,7 @@ match_add( m = ALLOC_CLEAR_ONE(matchitem_T); if (m == NULL) return -1; - if (pos_list != NULL) + if (pos_list != NULL && pos_list->lv_len > 0) { m->mit_pos_array = ALLOC_CLEAR_MULT(llpos_T, pos_list->lv_len); if (m->mit_pos_array == NULL) @@ -1294,7 +1294,7 @@ f_matchaddpos(typval_T *argvars UNUSED, typval_T *rettv UNUSED) return; } l = argvars[1].vval.v_list; - if (l == NULL) + if (l == NULL || l->lv_len == 0) return; if (argvars[2].v_type != VAR_UNKNOWN) |