aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorSean Dewar <seandewar@users.noreply.github.com>2021-07-29 22:32:22 +0100
committerSean Dewar <seandewar@users.noreply.github.com>2021-09-15 22:57:54 +0100
commit19232593ba495aa7ac6347b45a9a78d218e6e871 (patch)
tree66e61dd35f724680a3280024860b3117cbfdd79a /src/nvim/eval/funcs.c
parent9b5c9dbfa7074789dd77201ff7893690073e0f0a (diff)
downloadrneovim-19232593ba495aa7ac6347b45a9a78d218e6e871.tar.gz
rneovim-19232593ba495aa7ac6347b45a9a78d218e6e871.tar.bz2
rneovim-19232593ba495aa7ac6347b45a9a78d218e6e871.zip
fix(f_insert): partially port v8.2.0634
Fixes a crash in f_insert() when inserting into a NULL blob. Include blob-related test changes and some other simple changes.
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 2b844af03f..b3afa332f8 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -4984,6 +4984,10 @@ static void f_insert(typval_T *argvars, typval_T *rettv, FunPtr fptr)
bool error = false;
if (argvars[0].v_type == VAR_BLOB) {
+ if (argvars[0].vval.v_blob == NULL) {
+ return;
+ }
+
long before = 0;
const int len = tv_blob_len(argvars[0].vval.v_blob);