1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-28 01:18:35 +00:00

Fixed infinite loop when using --loopback in case all hashes have been cracked

Fixes https://github.com/hashcat/hashcat/issues/917
This commit is contained in:
jsteube 2016-12-10 09:37:59 +01:00
parent ec5610271a
commit f424650c3b
2 changed files with 8 additions and 4 deletions

View File

@ -4,13 +4,14 @@
## Features ## Features
## ##
- New option --progress-only: Quickly provides ideal progress step size and time to process it per device based on the user hashes and selected options, then quit - New option --progress-only: Quickly provides ideal progress step size and time to process on the user hashes and selected options, then quit
- Files: Use $HEX[...] in case the password includes the separater character, increases potfile reading performance - Files: Use $HEX[...] in case the password includes the separater character, increases potfile reading performance
## ##
## Bugs ## Bugs
## ##
- Fixed infinite loop when using --loopback in case all hashes have been cracked
- Fixed double fclose() using AMDGPU-Pro on sysfs compatible platform: Leading to segfault - Fixed double fclose() using AMDGPU-Pro on sysfs compatible platform: Leading to segfault
- Removed access to readlink() on FreeBSD: Causes problem building hashcat - Removed access to readlink() on FreeBSD: Causes problem building hashcat

View File

@ -293,11 +293,14 @@ static int inner2_loop (hashcat_ctx_t *hashcat_ctx)
{ {
for (induct_ctx->induction_dictionaries_pos = 0; induct_ctx->induction_dictionaries_pos < induct_ctx->induction_dictionaries_cnt; induct_ctx->induction_dictionaries_pos++) for (induct_ctx->induction_dictionaries_pos = 0; induct_ctx->induction_dictionaries_pos < induct_ctx->induction_dictionaries_cnt; induct_ctx->induction_dictionaries_pos++)
{ {
const int rc_inner2_loop = inner2_loop (hashcat_ctx); if (status_ctx->devices_status != STATUS_CRACKED)
{
const int rc_inner2_loop = inner2_loop (hashcat_ctx);
if (rc_inner2_loop == -1) myabort (hashcat_ctx); if (rc_inner2_loop == -1) myabort (hashcat_ctx);
if (status_ctx->run_main_level3 == false) break; if (status_ctx->run_main_level3 == false) break;
}
unlink (induct_ctx->induction_dictionaries[induct_ctx->induction_dictionaries_pos]); unlink (induct_ctx->induction_dictionaries[induct_ctx->induction_dictionaries_pos]);
} }