summaryrefslogtreecommitdiffstats
path: root/src/vim9execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vim9execute.c')
-rw-r--r--src/vim9execute.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 026a9ee45d..bdf4a02b71 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -2278,8 +2278,18 @@ call_def_function(
if (error)
status = FAIL;
else
- status = blob_set_range(tv_dest->vval.v_blob,
- n1, n2, tv);
+ {
+ long bloblen = blob_len(tv_dest->vval.v_blob);
+
+ if (check_blob_index(bloblen,
+ n1, TRUE, FALSE) == FAIL
+ || check_blob_range(bloblen,
+ n1, n2, FALSE) == FAIL)
+ status = FAIL;
+ else
+ status = blob_set_range(
+ tv_dest->vval.v_blob, n1, n2, tv);
+ }
}
}