diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2014-07-24 10:39:43 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2014-07-24 10:39:43 -0400 |
commit | cbe1864ab421d4fe71c19ed592318f87272af577 (patch) | |
tree | 2aebc5849c042ea18a0c3656dc770f1d98d08dce | |
parent | ba04a1c30674523fb7880b3003d8087ed7852cd9 (diff) | |
parent | e9e4cdb3d4d0709a7b7cff5a0ebc30b70c05fd6b (diff) | |
download | rneovim-cbe1864ab421d4fe71c19ed592318f87272af577.tar.gz rneovim-cbe1864ab421d4fe71c19ed592318f87272af577.tar.bz2 rneovim-cbe1864ab421d4fe71c19ed592318f87272af577.zip |
Merge pull request #987 from oni-link/fix_some_memory_leaks
Fix some memory leaks in job.c and provider.c
-rw-r--r-- | src/nvim/os/job.c | 8 | ||||
-rw-r--r-- | src/nvim/os/provider.c | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/os/job.c b/src/nvim/os/job.c index 203aa2c990..5c45c3727e 100644 --- a/src/nvim/os/job.c +++ b/src/nvim/os/job.c @@ -402,6 +402,14 @@ static void close_cb(uv_handle_t *handle) rstream_free(job->out); rstream_free(job->err); wstream_free(job->in); + + // Free data memory of process and pipe handles, that was allocated + // by handle_set_job in job_start. + free(job->proc.data); + free(job->proc_stdin.data); + free(job->proc_stdout.data); + free(job->proc_stderr.data); + shell_free_argv(job->proc_opts.args); free(job); } diff --git a/src/nvim/os/provider.c b/src/nvim/os/provider.c index 2e42cbb8f2..99cc078e94 100644 --- a/src/nvim/os/provider.c +++ b/src/nvim/os/provider.c @@ -109,6 +109,7 @@ Object provider_call(char *method, Object arg) "Provider for \"%s\" is not available", method); report_error(buf); + msgpack_rpc_free_object(arg); return NIL; } |