aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2023-01-09 13:26:18 +0100
committerbfredl <bjorn.linse@gmail.com>2023-01-09 13:59:35 +0100
commitbb7033a0338e9133765f9b2e1e6dc096847d17e3 (patch)
treec38fc839d8c33a0e0068c45242e3f9fc30e59de2 /src/nvim/eval/funcs.c
parentfc2cd28547954e64ef429c83733f06fa3ee75d50 (diff)
downloadrneovim-bb7033a0338e9133765f9b2e1e6dc096847d17e3.tar.gz
rneovim-bb7033a0338e9133765f9b2e1e6dc096847d17e3.tar.bz2
rneovim-bb7033a0338e9133765f9b2e1e6dc096847d17e3.zip
fix(rpc): don't free args on error in rpc_send_event
fixup #21631 fixes #21690
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index d377508e27..86bc3b2092 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -6325,12 +6325,12 @@ static void f_rpcnotify(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
bool ok = rpc_send_event((uint64_t)argvars[0].vval.v_number,
tv_get_string(&argvars[1]), args);
+ api_free_array(args);
+
if (!ok) {
semsg(_(e_invarg2), "Channel doesn't exist");
return;
}
-
- api_free_array(args);
rettv->vval.v_number = 1;
}