summaryrefslogtreecommitdiffstats
path: root/src/channel.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-03-23 22:01:17 +0100
committerBram Moolenaar <Bram@vim.org>2020-03-23 22:01:17 +0100
commitdbbb0ef729e392e313ccc63c247bff1b828a214d (patch)
tree5ee1cf84f3f6304c1fbc9aeaf124910867aea49d /src/channel.c
parenta8bd3496380ceb32e544dfe39cb4d52e4943068c (diff)
patch 8.2.0435: channel contents might be freed twicev8.2.0435
Problem: Channel contents might be freed twice. Solution: Call either channel_free_channel() or channel_free(), not both. (Nobuhiro Takasaki, closes #5835)
Diffstat (limited to 'src/channel.c')
-rw-r--r--src/channel.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/channel.c b/src/channel.c
index d5240fc25e..6dde107bfa 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -4457,9 +4457,11 @@ channel_parse_messages(void)
if (channel->ch_killing)
{
channel_free_contents(channel);
+ channel_free_channel(channel);
channel->ch_job->jv_channel = NULL;
}
- channel_free(channel);
+ else
+ channel_free(channel);
// channel has been freed, start over
channel = first_channel;
continue;