diff options
author | milo <milo.sshiva@gmail.com> | 2009-07-28 18:01:07 +0200 |
---|---|---|
committer | Andreas Schneider <mail@cynapses.org> | 2009-08-06 10:29:36 +0200 |
commit | 1b9676a0cc28e5dab6cea5ffe7c9fcd0fa10d9d8 (patch) | |
tree | 695104dd824160af03c02826f0e370ec524d0204 /libssh/dh.c | |
parent | f4b3ef7604eac4a564159879ee2a5edb04a2c223 (diff) | |
download | libssh-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/dh.c')
-rw-r--r-- | libssh/dh.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libssh/dh.c b/libssh/dh.c index 7fc3a5e..4ab28cb 100644 --- a/libssh/dh.c +++ b/libssh/dh.c @@ -626,20 +626,20 @@ int hashbufout_add_cookie(SSH_SESSION *session) { } if (buffer_add_u8(session->out_hashbuf, 20) < 0) { - buffer_free(session->out_hashbuf); + buffer_reinit(session->out_hashbuf); return -1; } if (session->server) { if (buffer_add_data(session->out_hashbuf, session->server_kex.cookie, 16) < 0) { - buffer_free(session->out_hashbuf); + buffer_reinit(session->out_hashbuf); return -1; } } else { if (buffer_add_data(session->out_hashbuf, session->client_kex.cookie, 16) < 0) { - buffer_free(session->out_hashbuf); + buffer_reinit(session->out_hashbuf); return -1; } } @@ -654,11 +654,11 @@ int hashbufin_add_cookie(SSH_SESSION *session, unsigned char *cookie) { } if (buffer_add_u8(session->in_hashbuf, 20) < 0) { - buffer_free(session->in_hashbuf); + buffer_reinit(session->in_hashbuf); return -1; } if (buffer_add_data(session->in_hashbuf,cookie, 16) < 0) { - buffer_free(session->in_hashbuf); + buffer_reinit(session->in_hashbuf); return -1; } |