From 75be42df7599fa025ddab9c399e42313729fd8b2 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 28 Jan 2014 11:56:59 +0100 Subject: [PATCH] pki_crypto: Fix memory leak with EC_KEY_set_public_key(). BUG: https://red.libssh.org/issues/146 --- src/pki_crypto.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pki_crypto.c b/src/pki_crypto.c index 07bc7f99..77a115a8 100644 --- a/src/pki_crypto.c +++ b/src/pki_crypto.c @@ -200,9 +200,11 @@ int pki_pubkey_build_ecdsa(ssh_key key, int nid, ssh_string e) return -1; } + /* EC_KEY_set_public_key duplicates p */ ok = EC_KEY_set_public_key(key->ecdsa, p); + EC_POINT_free(p); if (!ok) { - EC_POINT_free(p); + return -1; } return 0;