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-06 10:29:36 +0200
commit1b9676a0cc28e5dab6cea5ffe7c9fcd0fa10d9d8 (patch)
tree695104dd824160af03c02826f0e370ec524d0204 /libssh/channels.c
parentf4b3ef7604eac4a564159879ee2a5edb04a2c223 (diff)
downloadlibssh-1b9676a0cc28e5dab6cea5ffe7c9fcd0fa10d9d8.tar.gz
libssh-1b9676a0cc28e5dab6cea5ffe7c9fcd0fa10d9d8.tar.xz
libssh-1b9676a0cc28e5dab6cea5ffe7c9fcd0fa10d9d8.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 88169b7c..ad679ce5 100644
--- a/libssh/channels.c
+++ b/libssh/channels.c
@@ -280,7 +280,7 @@ static int grow_window(SSH_SESSION *session, ssh_channel channel, int minimumsiz
leave_function();
return 0;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
leave_function();
return -1;
@@ -799,7 +799,7 @@ int channel_send_eof(ssh_channel channel){
leave_function();
return rc;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
leave_function();
return rc;
@@ -852,7 +852,7 @@ int channel_close(ssh_channel channel){
leave_function();
return rc;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
leave_function();
return rc;
@@ -935,7 +935,7 @@ int channel_write_common(ssh_channel channel, const void *data,
leave_function();
return origlen;
error:
- buffer_free(session->out_buffer);
+ buffer_reinit(session->out_buffer);
leave_function();
return SSH_ERROR;
@@ -1074,7 +1074,7 @@ static int channel_request(ssh_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();