diff options
author | oni-link <knil.ino@gmail.com> | 2014-07-23 13:52:15 +0200 |
---|---|---|
committer | oni-link <knil.ino@gmail.com> | 2014-07-23 15:15:21 +0200 |
commit | e9e4cdb3d4d0709a7b7cff5a0ebc30b70c05fd6b (patch) | |
tree | 2aebc5849c042ea18a0c3656dc770f1d98d08dce | |
parent | bb1f08f6e8a017c4a1361ed838b0a54e742385c2 (diff) | |
download | rneovim-e9e4cdb3d4d0709a7b7cff5a0ebc30b70c05fd6b.tar.gz rneovim-e9e4cdb3d4d0709a7b7cff5a0ebc30b70c05fd6b.tar.bz2 rneovim-e9e4cdb3d4d0709a7b7cff5a0ebc30b70c05fd6b.zip |
Fix memory leaks for jobs.
Free the data memory of process and pipe handles in the close callback
for a job.
-rw-r--r-- | src/nvim/os/job.c | 8 |
1 files changed, 8 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); } |