diff options
author | Damien Miller <djm@mindrot.org> | 2014-02-04 11:20:40 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2014-02-04 11:20:40 +1100 |
commit | aae07e2e2000dd318418fd7fd4597760904cae32 (patch) | |
tree | b3370f8fab7a594e13df6dcd6f691804b38b923d /ssh-ecdsa.c | |
parent | a5103f413bde6f31bff85d6e1fd29799c647d765 (diff) |
- djm@cvs.openbsd.org 2014/02/03 23:28:00
[ssh-ecdsa.c]
fix memory leak; ECDSA_SIG_new() allocates 'r' and 's' for us, unlike
DSA_SIG_new. Reported by Batz Spear; ok markus@
Diffstat (limited to 'ssh-ecdsa.c')
-rw-r--r-- | ssh-ecdsa.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/ssh-ecdsa.c b/ssh-ecdsa.c index 95b222446..551c9c460 100644 --- a/ssh-ecdsa.c +++ b/ssh-ecdsa.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-ecdsa.c,v 1.9 2014/02/02 03:44:31 djm Exp $ */ | 1 | /* $OpenBSD: ssh-ecdsa.c,v 1.10 2014/02/03 23:28:00 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * Copyright (c) 2010 Damien Miller. All rights reserved. | 4 | * Copyright (c) 2010 Damien Miller. All rights reserved. |
@@ -140,9 +140,6 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen, | |||
140 | /* parse signature */ | 140 | /* parse signature */ |
141 | if ((sig = ECDSA_SIG_new()) == NULL) | 141 | if ((sig = ECDSA_SIG_new()) == NULL) |
142 | fatal("%s: ECDSA_SIG_new failed", __func__); | 142 | fatal("%s: ECDSA_SIG_new failed", __func__); |
143 | if ((sig->r = BN_new()) == NULL || | ||
144 | (sig->s = BN_new()) == NULL) | ||
145 | fatal("%s: BN_new failed", __func__); | ||
146 | 143 | ||
147 | buffer_init(&bb); | 144 | buffer_init(&bb); |
148 | buffer_append(&bb, sigblob, len); | 145 | buffer_append(&bb, sigblob, len); |