From 4eaa8a5e13e0b31a8bd984e1559030c827961a20 Mon Sep 17 00:00:00 2001
From: PTEC3D70 <PTEC3D70@e-i.com>
Date: Tue, 12 Mar 2013 15:52:15 +0100
Subject: [PATCH] Memory leak correction


Signed-off-by: PTEC3D70 <PTEC3D70@e-i.com>
---
 src/channels.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/channels.c b/src/channels.c
index 6e9b2eb..650016c 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -642,7 +642,7 @@ SSH_PACKET_CALLBACK(channel_rcv_close) {
 	      channel,
 	      channel->callbacks->userdata);
 	}
-	channel->flags &= SSH_CHANNEL_FLAG_CLOSED_REMOTE;
+	channel->flags |= SSH_CHANNEL_FLAG_CLOSED_REMOTE;
 	if(channel->flags & SSH_CHANNEL_FLAG_FREED_LOCAL)
 	  ssh_channel_do_free(channel);
 	leave_function();
@@ -1048,7 +1048,7 @@ void ssh_channel_free(ssh_channel channel) {
   if (session->alive && channel->state == SSH_CHANNEL_STATE_OPEN) {
     ssh_channel_close(channel);
   }
-  channel->flags &= SSH_CHANNEL_FLAG_FREED_LOCAL;
+  channel->flags |= SSH_CHANNEL_FLAG_FREED_LOCAL;
 
   /* The idea behind the flags is the following : it is well possible
    * that a client closes a channel that stills exists on the server side.
-- 
1.8.1.3

