diff options
Diffstat (limited to 'ssh-dss.c')
-rw-r--r-- | ssh-dss.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-dss.c,v 1.23 2006/08/03 03:34:42 deraadt Exp $ */ | 1 | /* $OpenBSD: ssh-dss.c,v 1.24 2006/11/06 21:25:28 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -161,8 +161,9 @@ ssh_dss_verify(const Key *key, const u_char *signature, u_int signaturelen, | |||
161 | fatal("ssh_dss_verify: BN_new failed"); | 161 | fatal("ssh_dss_verify: BN_new failed"); |
162 | if ((sig->s = BN_new()) == NULL) | 162 | if ((sig->s = BN_new()) == NULL) |
163 | fatal("ssh_dss_verify: BN_new failed"); | 163 | fatal("ssh_dss_verify: BN_new failed"); |
164 | BN_bin2bn(sigblob, INTBLOB_LEN, sig->r); | 164 | if ((BN_bin2bn(sigblob, INTBLOB_LEN, sig->r) == NULL) || |
165 | BN_bin2bn(sigblob+ INTBLOB_LEN, INTBLOB_LEN, sig->s); | 165 | (BN_bin2bn(sigblob+ INTBLOB_LEN, INTBLOB_LEN, sig->s) == NULL)) |
166 | fatal("ssh_dss_verify: BN_bin2bn failed"); | ||
166 | 167 | ||
167 | /* clean up */ | 168 | /* clean up */ |
168 | memset(sigblob, 0, len); | 169 | memset(sigblob, 0, len); |