mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fix(rpc): don't free args on error in rpc_send_event
fixup #21631 fixes #21690
This commit is contained in:
parent
fc2cd28547
commit
bb7033a033
@ -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,
|
bool ok = rpc_send_event((uint64_t)argvars[0].vval.v_number,
|
||||||
tv_get_string(&argvars[1]), args);
|
tv_get_string(&argvars[1]), args);
|
||||||
|
|
||||||
|
api_free_array(args);
|
||||||
|
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
semsg(_(e_invarg2), "Channel doesn't exist");
|
semsg(_(e_invarg2), "Channel doesn't exist");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
api_free_array(args);
|
|
||||||
rettv->vval.v_number = 1;
|
rettv->vval.v_number = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,7 +100,6 @@ bool rpc_send_event(uint64_t id, const char *name, Array args)
|
|||||||
Channel *channel = NULL;
|
Channel *channel = NULL;
|
||||||
|
|
||||||
if (id && (!(channel = find_rpc_channel(id)))) {
|
if (id && (!(channel = find_rpc_channel(id)))) {
|
||||||
api_free_array(args);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user