From c804c7df0cf3259b4ee3e286293b43529c9e42d6 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Fri, 14 Apr 2023 15:24:57 +0800 Subject: 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 --- src/nvim/eval/userfunc.c | 4 ++-- 1 file 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); -- cgit