From a512a8f9eb9fb6d20061af76cac7f0cecb5c5a4f Mon Sep 17 00:00:00 2001 From: "certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b" Date: Wed, 9 Aug 2006 12:32:06 +0000 Subject: # BUILD : 1.7.15 (1129) # BUGS : 575 # NOTES : fixed port checking when using cmd line switches git-svn-id: svn://svn.anope.org/anope/trunk@1130 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@853 5417fbe8-f217-4b02-8779-1006273d7864 --- src/init.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/init.c b/src/init.c index e0dfe8086..b8ae80903 100644 --- a/src/init.c +++ b/src/init.c @@ -224,12 +224,14 @@ static int parse_options(int ac, char **av) s = av[i]; t = strchr(s, ':'); if (t) { + int portnum; *t++ = 0; - if (atoi(t) > 0) - RemotePort = atoi(t); + portnum = atoi(t); + if ((portnum > 0) && (portnum < 65535)) + RemotePort = portnum; else { fprintf(stderr, - "-remote: port number must be a positive integer. Using default."); + "-remote: Port numbers must be in the range 1..65535. Using default.\n"); return -1; } } @@ -243,12 +245,14 @@ static int parse_options(int ac, char **av) s = av[i]; t = strchr(s, ':'); if (t) { + int portnum; *t++ = 0; - if (atoi(t) >= 0) - LocalPort = atoi(t); + portnum = atoi(t); + if ((portnum >= 0) && (portnum < 65535)) + LocalPort = portnum; else { fprintf(stderr, - "-local: port number must be a positive integer or 0. Using default."); + "-local: Port numbers must be in the range 1..65535 or 0. Using default.\n"); return -1; } } -- cgit