summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-04-11 23:06:28 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-04-11 23:06:28 +0000
commit146edb98324111ce29ca266221abb1514aacfe24 (patch)
tree489d13082886b854b85e2ca42adb2cc920095b67
parent23d9a6d38eae8bb25af3ccd88bcdfe3699cc3bf4 (diff)
- markus@cvs.openbsd.org 2001/04/11 10:59:01
[ssh.c] use strtol() for ports, thanks jakob@
-rw-r--r--ChangeLog5
-rw-r--r--ssh.c16
2 files changed, 16 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d105cbe..2260bb30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,9 @@
- djm@cvs.openbsd.org 2001/04/11 07:06:22
[sftp-int.c]
'mget' and 'mput' aliases; ok markus@
+ - markus@cvs.openbsd.org 2001/04/11 10:59:01
+ [ssh.c]
+ use strtol() for ports, thanks jakob@
20010410
- OpenBSD CVS Sync
@@ -5005,4 +5008,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1097 2001/04/11 23:05:17 mouring Exp $
+$Id: ChangeLog,v 1.1098 2001/04/11 23:06:28 mouring Exp $
diff --git a/ssh.c b/ssh.c
index 75094a10..89ced97e 100644
--- a/ssh.c
+++ b/ssh.c
@@ -39,7 +39,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: ssh.c,v 1.108 2001/04/07 08:55:18 markus Exp $");
+RCSID("$OpenBSD: ssh.c,v 1.109 2001/04/11 10:59:01 markus Exp $");
#include <openssl/evp.h>
#include <openssl/err.h>
@@ -243,7 +243,7 @@ main(int ac, char **av)
{
int i, opt, optind, exit_status, ok;
u_short fwd_port, fwd_host_port;
- char *optarg, *cp, buf[256];
+ char *optarg, *cp, *endofnumber, buf[256];
struct stat st;
struct passwd *pw;
int dummy;
@@ -456,7 +456,11 @@ main(int ac, char **av)
}
break;
case 'p':
- options.port = atoi(optarg);
+ options.port = strtol(optarg, &endofnumber, 0);
+ if (optarg == endofnumber) {
+ fprintf(stderr, "Bad port '%s'\n", optarg);
+ exit(1);
+ }
break;
case 'l':
options.user = optarg;
@@ -485,7 +489,11 @@ main(int ac, char **av)
break;
case 'D':
- fwd_port = atoi(optarg);
+ fwd_port = strtol(optarg, &endofnumber, 0);
+ if (optarg == endofnumber) {
+ fprintf(stderr, "Bad port '%s'\n", optarg);
+ exit(1);
+ }
add_local_forward(&options, fwd_port, "socks4", 0);
break;