change TCP port datatype from int to uint16_t

because int doesn't match the range
add range check in every TCP binary
This commit is contained in:
Stefan Wahren
2013-05-12 21:26:38 +02:00
parent b0dff87093
commit 4d85dad403
19 changed files with 96 additions and 50 deletions

View File

@ -22,7 +22,7 @@ int
main(int argc, char **argv)
{
char *host, *addr_mask = NULL;
int port;
long port;
mbus_handle *handle = NULL;
mbus_frame *frame = NULL, reply;
@ -37,7 +37,7 @@ main(int argc, char **argv)
}
host = argv[1];
port = atoi(argv[2]);
port = atol(argv[2]);
if (argc == 4)
{
addr_mask = strdup(argv[3]);
@ -52,6 +52,12 @@ main(int argc, char **argv)
fprintf(stderr, "Failed to allocate address mask.\n");
return 1;
}
if ((port < 0) || (port > 0xFFFF))
{
fprintf(stderr, "Invalid port: %ld\n", port);
return 1;
}
if (mbus_is_secondary_address(addr_mask) == 0)
{