diff --git a/common-channel.c b/common-channel.c index 0cd6ef88ff1b92461ccb6c92b28c33739bee7554..11760ecd75a648180ee25ae1f3a09106895b9212 100644 --- a/common-channel.c +++ b/common-channel.c @@ -273,14 +273,14 @@ static void checkclose(struct Channel *channel) { if (!channel->senteof && channel->readfd == FD_CLOSED - && (channel->extrabuf == NULL || channel->errfd == FD_CLOSED)) { + && (channel->extrabuf != NULL || channel->errfd == FD_CLOSED)) { send_msg_channel_eof(channel); } if (!channel->sentclosed && channel->writefd == FD_CLOSED && channel->readfd == FD_CLOSED - && (channel->extrabuf == NULL || channel->errfd == FD_CLOSED)) { + && (channel->extrabuf != NULL || channel->errfd == FD_CLOSED)) { send_msg_channel_close(channel); }