diff options
author | djm@openbsd.org <djm@openbsd.org> | 2017-05-08 08:11:06 +0200 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2017-05-10 03:40:18 +0200 |
commit | 5f02bb1f99f70bb422be8a5c2b77ef853f1db554 (patch) | |
tree | 95ed7046139ca277a871a2bfc70cc433da44ce39 /sshkey.c | |
parent | upstream commit (diff) | |
download | openssh-5f02bb1f99f70bb422be8a5c2b77ef853f1db554.tar.xz openssh-5f02bb1f99f70bb422be8a5c2b77ef853f1db554.zip |
upstream commit
make requesting bad ECDSA bits yield the same error
(SSH_ERR_KEY_LENGTH) as the same mistake for RSA/DSA
Upstream-ID: bf40d3fee567c271e33f05ef8e4e0fa0b6f0ece6
Diffstat (limited to '')
-rw-r--r-- | sshkey.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: sshkey.c,v 1.49 2017/05/07 23:15:59 djm Exp $ */ +/* $OpenBSD: sshkey.c,v 1.50 2017/05/08 06:11:06 djm Exp $ */ /* * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. * Copyright (c) 2008 Alexander von Gernler. All rights reserved. @@ -1504,9 +1504,10 @@ ecdsa_generate_private_key(u_int bits, int *nid, EC_KEY **ecdsap) EC_KEY *private; int ret = SSH_ERR_INTERNAL_ERROR; - if (nid == NULL || ecdsap == NULL || - (*nid = sshkey_ecdsa_bits_to_nid(bits)) == -1) + if (nid == NULL || ecdsap == NULL) return SSH_ERR_INVALID_ARGUMENT; + if ((*nid = sshkey_ecdsa_bits_to_nid(bits)) == -1) + return SSH_ERR_KEY_LENGTH; *ecdsap = NULL; if ((private = EC_KEY_new_by_curve_name(*nid)) == NULL) { ret = SSH_ERR_ALLOC_FAIL; |