diff options
author | Matt Johnston <matt@ucc.asn.au> | 2013-10-21 22:57:21 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2013-10-21 22:57:21 +0800 |
commit | 8eefb092c83f8f89f4d5574e4a05799eb9df3de8 (patch) | |
tree | 38ab731e4c38f1e287c187a9ca14ea73a92f9434 /common-session.c | |
parent | 3d733a16e9ee856a45a1fbd9a1b48005d78063f9 (diff) | |
parent | 45bd0edae52c07daa2d54ca7f7c0a57d51130791 (diff) |
Merge in ECC
Diffstat (limited to 'common-session.c')
-rw-r--r-- | common-session.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/common-session.c b/common-session.c index 9df0f3d..470d1f6 100644 --- a/common-session.c +++ b/common-session.c @@ -101,7 +101,7 @@ void common_session_init(int sock_in, int sock_out) { ses.keys->recv.algo_mac = &dropbear_nohash; ses.keys->trans.algo_mac = &dropbear_nohash; - ses.keys->algo_kex = -1; + ses.keys->algo_kex = NULL; ses.keys->algo_hostkey = -1; ses.keys->recv.algo_comp = DROPBEAR_COMP_NONE; ses.keys->trans.algo_comp = DROPBEAR_COMP_NONE; @@ -245,7 +245,16 @@ void session_cleanup() { ses.extra_session_cleanup(); } - m_free(ses.session_id); + if (ses.session_id) { + buf_burn(ses.session_id); + buf_free(ses.session_id); + ses.session_id = NULL; + } + if (ses.hash) { + buf_burn(ses.hash); + buf_free(ses.hash); + ses.hash = NULL; + } m_burn(ses.keys, sizeof(struct key_context)); m_free(ses.keys); |