From 7afc45c3ed72672690014dc432edc223b23ae288 Mon Sep 17 00:00:00 2001 From: "dtucker@openbsd.org" Date: Thu, 8 Aug 2019 08:02:57 +0000 Subject: upstream: Allow the maximimum uint32 value for the argument passed to -b which allows better error messages from later validation. bz#3050, ok djm@ OpenBSD-Commit-ID: 10adf6876b2401b3dc02da580ebf67af05861673 --- ssh-keygen.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'ssh-keygen.c') diff --git a/ssh-keygen.c b/ssh-keygen.c index 11e391878..d71548803 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.339 2019/08/05 21:45:27 naddy Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.340 2019/08/08 08:02:57 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -987,7 +987,7 @@ do_gen_all_hostkeys(struct passwd *pw) { NULL, NULL, NULL } }; - u_int bits = 0; + u_int32_t bits = 0; int first = 0; struct stat st; struct sshkey *private, *public; @@ -2450,7 +2450,7 @@ main(int argc, char **argv) int print_public = 0, print_generic = 0, cert_serial_autoinc = 0; unsigned long long cert_serial = 0; char *identity_comment = NULL, *ca_key_path = NULL; - u_int bits = 0; + u_int32_t bits = 0; FILE *f; const char *errstr; int log_level = SYSLOG_LEVEL_INFO; @@ -2493,7 +2493,8 @@ main(int argc, char **argv) gen_all_hostkeys = 1; break; case 'b': - bits = (u_int32_t)strtonum(optarg, 10, 32768, &errstr); + bits = (u_int32_t)strtonum(optarg, 1, UINT32_MAX, + &errstr); if (errstr) fatal("Bits has bad value %s (%s)", optarg, errstr); -- cgit v1.2.3