diff options
author | milo <milo.sshiva@gmail.com> | 2009-07-28 18:01:07 +0200 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-08-07 11:38:18 +0200 |
commit | 74eff86a6bb54e9c44eae5bbb6d3b396a9f18a85 (patch) | |
tree | 646ab1241803eba56191983969ee1da58372bed6 /libssh/channels.c | |
parent | 232aca896906112e7e0e3206f4ec4835c5ad306a (diff) | |
download | libssh-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.c | 10 |
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(); |