diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-03-23 22:01:17 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-03-23 22:01:17 +0100 |
commit | dbbb0ef729e392e313ccc63c247bff1b828a214d (patch) | |
tree | 5ee1cf84f3f6304c1fbc9aeaf124910867aea49d /src/channel.c | |
parent | a8bd3496380ceb32e544dfe39cb4d52e4943068c (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.c | 4 |
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; |