From d16ee557bdcdaec4fa09bcc4e7650f5f85d4f94d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ux=C3=ADo?= Date: Thu, 26 Feb 2015 16:14:04 +0100 Subject: [PATCH] Fixed segfault checking command line arguments With inputs like ./hydra -l admin -P passwords/dictionary.txt hydra gives a segmentation fault. Now checks if index < argc after trying to access to argv[index] --- hydra.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hydra.c b/hydra.c index 9472fa8..33dfa8e 100644 --- a/hydra.c +++ b/hydra.c @@ -2382,7 +2382,7 @@ int main(int argc, char *argv[]) { hydra_options.service = argv[optind]; if (optind + 2 == argc) hydra_options.miscptr = argv[optind + 1]; - } else if (optind + 2 != argc && optind + 3 != argc) { + } else if (optind + 2 != argc && optind + 3 != argc && optind < argc) { // check if targetdef follow syntax ://[:][/] or it's a syntax error char *targetdef = strdup(argv[optind]); char *service_pos, *target_pos, *port_pos = NULL, *param_pos = NULL;