diff --git a/OpenCL/inc_comp_multi_bs.cl b/OpenCL/inc_comp_multi_bs.cl index 6546a975a..894416a17 100644 --- a/OpenCL/inc_comp_multi_bs.cl +++ b/OpenCL/inc_comp_multi_bs.cl @@ -22,11 +22,14 @@ if (check (digest_tp, if (digest_pos != -1) { - const u32 final_hash_pos = digests_offset + digest_pos; - - if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) + if ((il_pos + slice) < il_cnt) { - mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + slice); + const u32 final_hash_pos = digests_offset + digest_pos; + + if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) + { + mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + slice); + } } } } diff --git a/OpenCL/inc_comp_single_bs.cl b/OpenCL/inc_comp_single_bs.cl index 2c5e70f50..92383d6e1 100644 --- a/OpenCL/inc_comp_single_bs.cl +++ b/OpenCL/inc_comp_single_bs.cl @@ -1,6 +1,10 @@ -const u32 final_hash_pos = digests_offset + 0; -if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) +if ((il_pos + slice) < il_cnt) { - mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + slice); + const u32 final_hash_pos = digests_offset + 0; + + if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) + { + mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + slice); + } } diff --git a/docs/changes.txt b/docs/changes.txt index ffac0c920..d0c8e4352 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -27,6 +27,7 @@ - Fixed a bug where hashcat crashes in case of a scrypt P setting > 1 - Fixed a bug where hashcat did not correctly use the newly cracked plains whenever --loopback or the induction folder was used - Fixed a bug where hashcat did not correctly remove hashes of type WPA/WPA2 even if present in potfile +- Fixed a bug where hashcat reported an invalid password for a zero-length password in LM * changes v2.01 -> v3.00: