Fixed error handling logic in monitor thread to not return in case of error (disc full, permission error, ...) but to retry instead

pull/2805/head
Jens Steube 3 years ago
parent 7024f31b58
commit 918a621506

@ -27,6 +27,7 @@
- Fixed error message in -a 9 mode with rules in case number of words from wordlist are not in sync with number of unique salts - Fixed error message in -a 9 mode with rules in case number of words from wordlist are not in sync with number of unique salts
- Fixed false negatives with TrueCrypt/VeraCrypt in case zip or gzip compressed files were used as keyfiles - Fixed false negatives with TrueCrypt/VeraCrypt in case zip or gzip compressed files were used as keyfiles
- Fixed error handling logic in monitor thread to not return in case of error (disc full, permission error, ...) but to retry instead
## ##
## Improvements ## Improvements

@ -167,9 +167,14 @@ static int monitor (hashcat_ctx_t *hashcat_ctx)
if (restore_left == 0) if (restore_left == 0)
{ {
const int rc = cycle_restore (hashcat_ctx); // Can't return from monitor for that reasons, see:
// https://github.com/hashcat/hashcat/issues/2704
//
//const int rc = cycle_restore (hashcat_ctx);
//
//if (rc == -1) return -1;
if (rc == -1) return -1; cycle_restore (hashcat_ctx);
restore_left = user_options->restore_timer; restore_left = user_options->restore_timer;
} }
@ -197,9 +202,14 @@ static int monitor (hashcat_ctx_t *hashcat_ctx)
{ {
hashes->digests_saved = hashes->digests_done; hashes->digests_saved = hashes->digests_done;
const int rc = save_hash (hashcat_ctx); // Can't return from monitor for that reasons, see:
// https://github.com/hashcat/hashcat/issues/2704
//
// const int rc = save_hash (hashcat_ctx);
//
// if (rc == -1) return -1;
if (rc == -1) return -1; save_hash (hashcat_ctx);
} }
remove_left = user_options->remove_timer; remove_left = user_options->remove_timer;
@ -313,9 +323,14 @@ static int monitor (hashcat_ctx_t *hashcat_ctx)
{ {
if (hashes->digests_saved != hashes->digests_done) if (hashes->digests_saved != hashes->digests_done)
{ {
const int rc = save_hash (hashcat_ctx); // Can't return from monitor for that reasons, see:
// https://github.com/hashcat/hashcat/issues/2704
if (rc == -1) return -1; //
// const int rc = save_hash (hashcat_ctx);
//
// if (rc == -1) return -1;
save_hash (hashcat_ctx);
} }
} }
@ -323,9 +338,14 @@ static int monitor (hashcat_ctx_t *hashcat_ctx)
if (restore_check == true) if (restore_check == true)
{ {
const int rc = cycle_restore (hashcat_ctx); // Can't return from monitor for that reasons, see:
// https://github.com/hashcat/hashcat/issues/2704
if (rc == -1) return -1; //
// const int rc = cycle_restore (hashcat_ctx);
//
// if (rc == -1) return -1;
cycle_restore (hashcat_ctx);
} }
return 0; return 0;

Loading…
Cancel
Save