diff --git a/ecdsa.c b/ecdsa.c
index 195121f1799006901bab35c0840142ca0d3deee4..039601499d51c78aa265ac3d45e40cec29ebc16b 100644
--- a/ecdsa.c
+++ b/ecdsa.c
@@ -131,6 +131,7 @@ ecc_key *buf_get_ecdsa_priv_key(buffer *buf) {
 
 	if (buf_getmpint(buf, new_key->k) != DROPBEAR_SUCCESS) {
 		ecc_free(new_key);
+		m_free(new_key);
 		return NULL;
 	}