aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-04-14 15:24:57 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-04-14 16:10:10 +0800
commitc804c7df0cf3259b4ee3e286293b43529c9e42d6 (patch)
treea3f196daedc4f0ce01ef7d90bee0f84d95a66627
parentcc7a50a9ae9384167bd0fc2ee2eb7f1b31842f27 (diff)
downloadrneovim-c804c7df0cf3259b4ee3e286293b43529c9e42d6.tar.gz
rneovim-c804c7df0cf3259b4ee3e286293b43529c9e42d6.tar.bz2
rneovim-c804c7df0cf3259b4ee3e286293b43529c9e42d6.zip
vim-patch:8.2.1162: crash when using a lambda
Problem: Crash when using a lambda. Solution: Check for evalarg to be NULL. https://github.com/vim/vim/commit/efaaaa683b7b0cebc128be5c0c257b9d6578ac96 Co-authored-by: Bram Moolenaar <Bram@vim.org>
-rw-r--r--src/nvim/eval/userfunc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/eval/userfunc.c b/src/nvim/eval/userfunc.c
index 9440ceb36e..f73d22243d 100644
--- a/src/nvim/eval/userfunc.c
+++ b/src/nvim/eval/userfunc.c
@@ -366,7 +366,7 @@ int get_lambda_tv(char **arg, typval_T *rettv, evalarg_T *evalarg)
}
eval_lavars_used = old_eval_lavars;
- if (evalarg->eval_tofree == NULL) {
+ if (evalarg != NULL && evalarg->eval_tofree == NULL) {
evalarg->eval_tofree = tofree;
} else {
xfree(tofree);
@@ -377,7 +377,7 @@ errret:
ga_clear_strings(&newargs);
xfree(fp);
xfree(pt);
- if (evalarg->eval_tofree == NULL) {
+ if (evalarg != NULL && evalarg->eval_tofree == NULL) {
evalarg->eval_tofree = tofree;
} else {
xfree(tofree);