summaryrefslogtreecommitdiffstats
path: root/libssh/channels.c
diff options
context:
space:
mode:
authormilo <milo.sshiva@gmail.com>2009-07-28 18:01:07 +0200
committerAndreas Schneider <mail@cynapses.org>2009-08-07 11:38:18 +0200
commit74eff86a6bb54e9c44eae5bbb6d3b396a9f18a85 (patch)
tree646ab1241803eba56191983969ee1da58372bed6 /libssh/channels.c
parent232aca896906112e7e0e3206f4ec4835c5ad306a (diff)
downloadlibssh-74eff86a6bb54e9c44eae5bbb6d3b396a9f18a85.tar.gz
libssh-74eff86a6bb54e9c44eae5bbb6d3b396a9f18a85.tar.xz
libssh-74eff86a6bb54e9c44eae5bbb6d3b396a9f18a85.zip
Fix possible memory corruption (#14)
Signed-off-by: Andreas Schneider <mail@cynapses.org>
Diffstat (limited to 'libssh/channels.c')
-rw-r--r--libssh/channels.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libssh/channels.c b/libssh/channels.c
index 684520c4..6e56833e 100644
--- a/libssh/channels.c
+++ b/libssh/channels.c
@@ -280,7 +280,7 @@ static int grow_window(SSH_SESSION *session, CHANNEL *channel, int minimumsize)
leave_function();
return 0;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
leave_function();
return -1;
@@ -791,7 +791,7 @@ int channel_send_eof(CHANNEL *channel){
leave_function();
return rc;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
leave_function();
return rc;
@@ -844,7 +844,7 @@ int channel_close(CHANNEL *channel){
leave_function();
return rc;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
leave_function();
return rc;
@@ -938,7 +938,7 @@ int channel_write(CHANNEL *channel, const void *data, u32 len) {
leave_function();
return origlen;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
leave_function();
return SSH_ERROR;
@@ -1060,7 +1060,7 @@ static int channel_request(CHANNEL *channel, const char *request,
leave_function();
return rc;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
string_free(req);
leave_function();