summaryrefslogtreecommitdiffstats
path: root/libssh/dh.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/dh.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/dh.c')
-rw-r--r--libssh/dh.c10
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;
}