diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-04-14 15:24:57 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2023-04-14 16:10:10 +0800 |
commit | c804c7df0cf3259b4ee3e286293b43529c9e42d6 (patch) | |
tree | a3f196daedc4f0ce01ef7d90bee0f84d95a66627 | |
parent | cc7a50a9ae9384167bd0fc2ee2eb7f1b31842f27 (diff) | |
download | rneovim-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.c | 4 |
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); |