From 3768f8aeef9faa009a2c056beacaa566bd90013e Mon Sep 17 00:00:00 2001 From: Zenju Date: Fri, 11 Sep 2015 15:45:00 +0200 Subject: [PATCH] kex: free server host key before allocating it (again) Fixes a memory leak when Synology server requests key exchange Closes #43 --- src/kex.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/kex.c b/src/kex.c index 08faf72..1fdd626 100644 --- a/src/kex.c +++ b/src/kex.c @@ -202,6 +202,10 @@ static int diffie_hellman_sha1(LIBSSH2_SESSION *session, session->server_hostkey_len = _libssh2_ntohu32(exchange_state->s); exchange_state->s += 4; + + if (session->server_hostkey) + LIBSSH2_FREE(session, session->server_hostkey); + session->server_hostkey = LIBSSH2_ALLOC(session, session->server_hostkey_len); if (!session->server_hostkey) {