Просмотр исходного кода

never exited getopt loop

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@342 f882894a-f735-0410-b71e-b25c423dba1c
Karl DeBisschop 23 лет назад
Родитель
Сommit
b0d5270f0a
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      plugins/check_udp.c

+ 4 - 1
plugins/check_udp.c

@@ -161,6 +161,9 @@ process_arguments (int argc, char **argv)
 		c = getopt (argc, argv, "+hVvH:e:s:c:w:t:p:");
 #endif
 
+		if (c == -1 || c == EOF || c == 1)
+			break;
+
 		switch (c) {
 		case '?':									/* print short usage statement if args not parsable */
 			printf ("%s: Unknown argument: %s\n\n", progname, optarg);
@@ -212,7 +215,7 @@ process_arguments (int argc, char **argv)
 	}
 
 	c = optind;
-	if (server_address == NULL && argv[c]) {
+	if (server_address == NULL && c < argc && argv[c]) {
 		if (is_host (argv[c]) == FALSE)
 			usage ("Invalid host name/address\n");
 		server_address = argv[c++];