diff --git a/plugins/check_dns.c b/plugins/check_dns.c index 3462701a..c0ea2982 100644 --- a/plugins/check_dns.c +++ b/plugins/check_dns.c @@ -352,22 +352,22 @@ process_arguments (int argc, char **argv) } c = optind; - if (query_address[0] == 0) { - if (is_host (argv[c]) == FALSE) { + if (strlen(query_address)==0 && c= ADDRESS_LENGTH) + if (strlen(argv[c])>=ADDRESS_LENGTH) terminate (STATE_UNKNOWN, "Input buffer overflow\n"); strcpy (query_address, argv[c++]); } - if (dns_server[0] == 0) { - if (is_host (argv[c]) == FALSE) { + if (strlen(dns_server)==0 && c= ADDRESS_LENGTH) + if (strlen(argv[c]) >= ADDRESS_LENGTH) terminate (STATE_UNKNOWN, "Input buffer overflow\n"); strcpy (dns_server, argv[c++]); }