else if(!strcmp("--port", argv[arg])) {
arg++;
if(argc>arg) {
- port = (unsigned short)atoi(argv[arg]);
+ char *endptr;
+ long lnum = -1;
+ lnum = strtol(argv[arg], &endptr, 10);
+ if((endptr != argv[arg] + strlen(argv[arg])) ||
+ (lnum < 1025L) || (lnum > 65535L)) {
+ fprintf(stderr, "rtspd: invalid --port argument (%s)\n",
+ argv[arg]);
+ return 0;
+ }
+ port = (unsigned short)(lnum & 0xFFFFL);
arg++;
}
}
else if(!strcmp("--port", argv[arg])) {
arg++;
if(argc>arg) {
- port = (unsigned short)atoi(argv[arg]);
+ char *endptr;
+ long lnum = -1;
+ lnum = strtol(argv[arg], &endptr, 10);
+ if((endptr != argv[arg] + strlen(argv[arg])) ||
+ ((lnum != 0L) && ((lnum < 1025L) || (lnum > 65535L)))) {
+ fprintf(stderr, "sockfilt: invalid --port argument (%s)\n",
+ argv[arg]);
+ return 0;
+ }
+ port = (unsigned short)(lnum & 0xFFFFL);
arg++;
}
}
doing a passive server-style listening. */
arg++;
if(argc>arg) {
- connectport = (unsigned short)atoi(argv[arg]);
+ char *endptr;
+ long lnum = -1;
+ lnum = strtol(argv[arg], &endptr, 10);
+ if((endptr != argv[arg] + strlen(argv[arg])) ||
+ (lnum < 1025L) || (lnum > 65535L)) {
+ fprintf(stderr, "sockfilt: invalid --connect argument (%s)\n",
+ argv[arg]);
+ return 0;
+ }
+ connectport = (unsigned short)(lnum & 0xFFFFL);
arg++;
}
}
else if(!strcmp("--port", argv[arg])) {
arg++;
if(argc>arg) {
- port = (unsigned short)atoi(argv[arg]);
+ char *endptr;
+ long lnum = -1;
+ lnum = strtol(argv[arg], &endptr, 10);
+ if((endptr != argv[arg] + strlen(argv[arg])) ||
+ (lnum < 1025L) || (lnum > 65535L)) {
+ fprintf(stderr, "sws: invalid --port argument (%s)\n",
+ argv[arg]);
+ return 0;
+ }
+ port = (unsigned short)(lnum & 0xFFFFL);
arg++;
}
}
else if(!strcmp("--port", argv[arg])) {
arg++;
if(argc>arg) {
- port = (unsigned short)atoi(argv[arg]);
+ char *endptr;
+ long lnum = -1;
+ lnum = strtol(argv[arg], &endptr, 10);
+ if((endptr != argv[arg] + strlen(argv[arg])) ||
+ (lnum < 1025L) || (lnum > 65535L)) {
+ fprintf(stderr, "tftpd: invalid --port argument (%s)\n",
+ argv[arg]);
+ return 0;
+ }
+ port = (unsigned short)(lnum & 0xFFFFL);
arg++;
}
}