summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/ssh-add.c
diff options
context:
space:
mode:
authorstevesk <stevesk@openbsd.org>2002-06-10 17:36:22 +0000
committerstevesk <stevesk@openbsd.org>2002-06-10 17:36:22 +0000
commit974786702f41509211e1412565ddfeb1908c2aea (patch)
treed4b079339bd444cfe88ca284a198e0d62a4567d3 /usr.bin/ssh/ssh-add.c
parenteasy error checks first. (diff)
downloadwireguard-openbsd-974786702f41509211e1412565ddfeb1908c2aea.tar.xz
wireguard-openbsd-974786702f41509211e1412565ddfeb1908c2aea.zip
use convtime() to parse and validate key lifetime. can now
use '-t 2h' etc. ok markus@ provos@
Diffstat (limited to 'usr.bin/ssh/ssh-add.c')
-rw-r--r--usr.bin/ssh/ssh-add.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/usr.bin/ssh/ssh-add.c b/usr.bin/ssh/ssh-add.c
index bb1942b7536..716f6f66bc7 100644
--- a/usr.bin/ssh/ssh-add.c
+++ b/usr.bin/ssh/ssh-add.c
@@ -35,7 +35,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: ssh-add.c,v 1.56 2002/06/05 21:55:44 markus Exp $");
+RCSID("$OpenBSD: ssh-add.c,v 1.57 2002/06/10 17:36:23 stevesk Exp $");
#include <openssl/evp.h>
@@ -48,6 +48,7 @@ RCSID("$OpenBSD: ssh-add.c,v 1.56 2002/06/05 21:55:44 markus Exp $");
#include "authfile.h"
#include "pathnames.h"
#include "readpass.h"
+#include "misc.h"
/* argv0 */
extern char *__progname;
@@ -61,7 +62,7 @@ static char *default_files[] = {
};
/* Default lifetime (0 == forever) */
-static u_int lifetime = 0;
+static int lifetime = 0;
/* we keep a cache of one passphrases */
static char *pass = NULL;
@@ -342,7 +343,11 @@ main(int argc, char **argv)
sc_reader_id = optarg;
break;
case 't':
- lifetime = atoi(optarg);
+ if ((lifetime = convtime(optarg)) == -1) {
+ fprintf(stderr, "Invalid lifetime\n");
+ ret = 1;
+ goto done;
+ }
break;
default:
usage();