From e5c2af631697d074bcea3f8a7393267b32673bef Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Wed, 14 Apr 2010 20:56:22 +0200 Subject: [PATCH] Fix doublefree happening after a negociation error --- libssh/client.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libssh/client.c b/libssh/client.c index 4c4f6493..43081726 100644 --- a/libssh/client.c +++ b/libssh/client.c @@ -296,6 +296,7 @@ static int dh_handshake(ssh_session session) { goto error; } session->dh_server_signature = signature; + signature=NULL; /* ownership changed */ if (dh_build_k(session) < 0) { ssh_set_error(session, SSH_FATAL, "Cannot build k number"); rc = SSH_ERROR; @@ -400,10 +401,6 @@ error: string_burn(f); string_free(f); } - if(pubkey != NULL){ - string_burn(pubkey); - string_free(pubkey); - } if(signature != NULL){ string_burn(signature); string_free(signature);