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

@ -26,7 +26,8 @@ main(int argc, char **argv)
mbus_handle *handle = NULL;
char *host, *addr_str, matching_addr[16], *file = NULL;
int port, address, result;
long port;
int address, result;
FILE *fp = NULL;
size_t buff_len, len;
unsigned char raw_buff[4096], buff[4096];
@ -37,21 +38,21 @@ main(int argc, char **argv)
if (argc == 4)
{
host = argv[1];
port = atoi(argv[2]);
port = atol(argv[2]);
addr_str = argv[3];
debug = 0;
}
else if (argc == 5 && strcmp(argv[1], "-d") == 0)
{
host = argv[2];
port = atoi(argv[3]);
port = atol(argv[3]);
addr_str = argv[4];
debug = 1;
}
else if (argc == 5)
{
host = argv[1];
port = atoi(argv[2]);
port = atol(argv[2]);
addr_str = argv[3];
file = argv[4];
debug = 0;
@ -59,7 +60,7 @@ main(int argc, char **argv)
else if (argc == 6 && strcmp(argv[1], "-d") == 0)
{
host = argv[2];
port = atoi(argv[3]);
port = atol(argv[3]);
addr_str = argv[4];
file = argv[5];
debug = 1;
@ -72,6 +73,12 @@ main(int argc, char **argv)
return 0;
}
if ((port < 0) || (port > 0xFFFF))
{
fprintf(stderr, "Invalid port: %ld\n", port);
return 1;
}
if (debug)
{
mbus_register_send_event(&mbus_dump_send_event);