aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/wstream.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2014-11-09 18:25:42 -0500
committerJustin M. Keyes <justinkz@gmail.com>2014-11-09 18:25:42 -0500
commit8e281b3f70f92535925332207061385f4d1935bc (patch)
treea44efb7d6b16c9f91bcfd459be72d3b6fc916e91 /src/nvim/os/wstream.c
parent57140446174a1e547b4799d75d6182a24ad78b44 (diff)
parentdba8433723f1cb5dbfc7e09fde73219aba646f60 (diff)
downloadrneovim-8e281b3f70f92535925332207061385f4d1935bc.tar.gz
rneovim-8e281b3f70f92535925332207061385f4d1935bc.tar.bz2
rneovim-8e281b3f70f92535925332207061385f4d1935bc.zip
Merge pull request #1429 from oni-link/fix.job_start.leak
Fix memory leak in job_start().
Diffstat (limited to 'src/nvim/os/wstream.c')
-rw-r--r--src/nvim/os/wstream.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/os/wstream.c b/src/nvim/os/wstream.c
index a1f3612418..6a650ce775 100644
--- a/src/nvim/os/wstream.c
+++ b/src/nvim/os/wstream.c
@@ -230,7 +230,11 @@ static void write_cb(uv_write_t *req, int status)
if (data->wstream->freed && data->wstream->pending_reqs == 0) {
// Last pending write, free the wstream;
- free(data->wstream);
+ if (data->wstream->free_handle) {
+ uv_close((uv_handle_t *)data->wstream->stream, close_cb);
+ } else {
+ free(data->wstream);
+ }
}
kmp_free(WRequestPool, wrequest_pool, data);