patch 8.2.0435: channel contents might be freed twice
Problem: Channel contents might be freed twice.
Solution: Call either channel_free_channel() or channel_free(), not both.
(Nobuhiro Takasaki, closes #5835)
diff --git a/src/channel.c b/src/channel.c
index d5240fc..6dde107 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -4457,9 +4457,11 @@
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;