1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-24 00:51:05 +00:00

Fix a race condition in output file handling

This commit is contained in:
jsteube 2016-06-21 12:25:07 +02:00
parent e3c499c75d
commit 39042d39e8

View File

@ -2276,14 +2276,14 @@ static void check_cracked (hc_device_param_t *device_param, const uint salt_pos)
uint cpt_cracked = 0; uint cpt_cracked = 0;
hc_thread_mutex_lock (mux_display);
for (uint i = 0; i < num_cracked; i++) for (uint i = 0; i < num_cracked; i++)
{ {
const uint hash_pos = cracked[i].hash_pos; const uint hash_pos = cracked[i].hash_pos;
if (data.digests_shown[hash_pos] == 1) continue; if (data.digests_shown[hash_pos] == 1) continue;
hc_thread_mutex_lock (mux_display);
if ((data.opts_type & OPTS_TYPE_PT_NEVERCRACK) == 0) if ((data.opts_type & OPTS_TYPE_PT_NEVERCRACK) == 0)
{ {
data.digests_shown[hash_pos] = 1; data.digests_shown[hash_pos] = 1;
@ -2304,11 +2304,11 @@ static void check_cracked (hc_device_param_t *device_param, const uint salt_pos)
if (data.salts_done == data.salts_cnt) data.devices_status = STATUS_CRACKED; if (data.salts_done == data.salts_cnt) data.devices_status = STATUS_CRACKED;
hc_thread_mutex_unlock (mux_display);
check_hash (device_param, &cracked[i]); check_hash (device_param, &cracked[i]);
} }
hc_thread_mutex_unlock (mux_display);
myfree (cracked); myfree (cracked);
if (cpt_cracked > 0) if (cpt_cracked > 0)