diff --git a/src/user_options.c b/src/user_options.c index b8adf1ade..fa32be34f 100644 --- a/src/user_options.c +++ b/src/user_options.c @@ -1348,90 +1348,102 @@ int user_options_check_files (hashcat_ctx_t *hashcat_ctx) { // mode easy mode here because both files must exist and readable - char *dictfile1 = user_options_extra->hc_workv[0]; - char *dictfile2 = user_options_extra->hc_workv[1]; - - if (hc_path_read (dictfile1) == false) + if (user_options_extra->hc_workc == 2) { - event_log_error (hashcat_ctx, "%s: %m", dictfile1); + char *dictfile1 = user_options_extra->hc_workv[0]; + char *dictfile2 = user_options_extra->hc_workv[1]; - return -1; - } + if (hc_path_read (dictfile1) == false) + { + event_log_error (hashcat_ctx, "%s: %m", dictfile1); - if (hc_path_read (dictfile2) == false) - { - event_log_error (hashcat_ctx, "%s: %m", dictfile2); + return -1; + } - return -1; + if (hc_path_read (dictfile2) == false) + { + event_log_error (hashcat_ctx, "%s: %m", dictfile2); + + return -1; + } } } else if (user_options->attack_mode == ATTACK_MODE_BF) { // if the file exist it's a maskfile and then it must be readable - char *maskfile = user_options_extra->hc_workv[0]; - - if (hc_path_exist (maskfile) == true) + if (user_options_extra->hc_workc == 1) { - if (hc_path_read (maskfile) == false) + char *maskfile = user_options_extra->hc_workv[0]; + + if (hc_path_exist (maskfile) == true) { - event_log_error (hashcat_ctx, "%s: %m", maskfile); + if (hc_path_read (maskfile) == false) + { + event_log_error (hashcat_ctx, "%s: %m", maskfile); - return -1; + return -1; + } } } } else if (user_options->attack_mode == ATTACK_MODE_HYBRID1) { - char *wlfile = user_options_extra->hc_workv[0]; + if (user_options_extra->hc_workc == 2) + { + char *wlfile = user_options_extra->hc_workv[0]; - char *maskfile = user_options_extra->hc_workv[1]; + char *maskfile = user_options_extra->hc_workv[1]; - // for wordlist: can be folder + // for wordlist: can be folder - if (hc_path_exist (wlfile) == false) - { - event_log_error (hashcat_ctx, "%s: %m", wlfile); + if (hc_path_exist (wlfile) == false) + { + event_log_error (hashcat_ctx, "%s: %m", wlfile); - return -1; - } + return -1; + } - // for mask: if the file exist it's a maskfile and then it must be readable + // for mask: if the file exist it's a maskfile and then it must be readable - if (hc_path_exist (maskfile) == true) - { - if (hc_path_read (maskfile) == false) + if (hc_path_exist (maskfile) == true) { - event_log_error (hashcat_ctx, "%s: %m", maskfile); + if (hc_path_read (maskfile) == false) + { + event_log_error (hashcat_ctx, "%s: %m", maskfile); - return -1; + return -1; + } } } } else if (user_options->attack_mode == ATTACK_MODE_HYBRID2) { - char *wlfile = user_options_extra->hc_workv[1]; + if (user_options_extra->hc_workc == 2) + { + char *wlfile = user_options_extra->hc_workv[1]; - char *maskfile = user_options_extra->hc_workv[0]; + char *maskfile = user_options_extra->hc_workv[0]; - // for wordlist: can be folder + // for wordlist: can be folder - if (hc_path_exist (wlfile) == false) - { - event_log_error (hashcat_ctx, "%s: %m", wlfile); + if (hc_path_exist (wlfile) == false) + { + event_log_error (hashcat_ctx, "%s: %m", wlfile); - return -1; - } + return -1; + } - // for mask: if the file exist it's a maskfile and then it must be readable + // for mask: if the file exist it's a maskfile and then it must be readable - if (hc_path_exist (maskfile) == true) - { - if (hc_path_read (maskfile) == false) + if (hc_path_exist (maskfile) == true) { - event_log_error (hashcat_ctx, "%s: %m", maskfile); + if (hc_path_read (maskfile) == false) + { + event_log_error (hashcat_ctx, "%s: %m", maskfile); - return -1; + return -1; + } } } } @@ -1558,11 +1570,14 @@ int user_options_check_files (hashcat_ctx_t *hashcat_ctx) if (dictstat_ctx->enabled == true) { - if (hc_path_write (dictstat_ctx->filename) == false) + if (hc_path_exist (dictstat_ctx->filename) == true) { - event_log_error (hashcat_ctx, "%s: %m", dictstat_ctx->filename); + if (hc_path_write (dictstat_ctx->filename) == false) + { + event_log_error (hashcat_ctx, "%s: %m", dictstat_ctx->filename); - return -1; + return -1; + } } }