diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2015-08-21 09:07:06 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2015-08-21 13:28:49 -0300 |
commit | 1beee0685d33adf15457927b2487e8f89da178a0 (patch) | |
tree | 38f251f3333a0e103391d78d9adfc076399ca8cf /src/nvim/event/process.c | |
parent | 6e59b7b0e5cfe84db8629c728b942a5fea6bdda3 (diff) | |
download | rneovim-1beee0685d33adf15457927b2487e8f89da178a0.tar.gz rneovim-1beee0685d33adf15457927b2487e8f89da178a0.tar.bz2 rneovim-1beee0685d33adf15457927b2487e8f89da178a0.zip |
eval: Protect job callbacks from being redefined
ref: #3188
Diffstat (limited to 'src/nvim/event/process.c')
-rw-r--r-- | src/nvim/event/process.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nvim/event/process.c b/src/nvim/event/process.c index 81d4e690c3..bacbf4f8c7 100644 --- a/src/nvim/event/process.c +++ b/src/nvim/event/process.c @@ -66,7 +66,12 @@ bool process_spawn(Process *proc) FUNC_ATTR_NONNULL_ALL if (proc->err) { uv_close((uv_handle_t *)&proc->err->uv.pipe, NULL); } - process_close(proc); + + if (proc->type == kProcessTypeUv) { + uv_close((uv_handle_t *)&(((UvProcess *)proc)->uv), NULL); + } else { + process_close(proc); + } shell_free_argv(proc->argv); proc->status = -1; return false; |