diff src/channel.c @ 12407:e9dbdc4d8279 v8.0.1083

patch 8.0.1083: leaking memory in input part of channel commit https://github.com/vim/vim/commit/5b5adf5b9cd226d775643872e65c62674d6ada95 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 9 18:16:43 2017 +0200 patch 8.0.1083: leaking memory in input part of channel Problem: Leaking memory in input part of channel. Solution: Clear the input part of channel. Free the entry. Move failing command test to a separate file to avoid bogus leak reports clouding tests that should not leak.
author Christian Brabandt <cb@256bit.org>
date Sat, 09 Sep 2017 18:30:05 +0200
parents b44bd42a374e
children 579faede5d9c
line wrap: on
line diff
--- a/src/channel.c
+++ b/src/channel.c
@@ -2939,6 +2939,7 @@ remove_from_writeque(writeq_T *wq, write
 	wq->wq_prev = NULL;
     else
 	wq->wq_next->wq_prev = NULL;
+    vim_free(entry);
 }
 
 /*
@@ -2990,7 +2991,7 @@ channel_clear(channel_T *channel)
     channel_clear_one(channel, PART_SOCK);
     channel_clear_one(channel, PART_OUT);
     channel_clear_one(channel, PART_ERR);
-    /* there is no callback or queue for PART_IN */
+    channel_clear_one(channel, PART_IN);
     free_callback(channel->ch_callback, channel->ch_partial);
     channel->ch_callback = NULL;
     channel->ch_partial = NULL;