From db69999219a50c582f9bd12926faa38093c06a33 Mon Sep 17 00:00:00 2001 From: unkernet Date: Mon, 28 Aug 2017 02:14:36 +0300 Subject: [PATCH] Fix wrong bucket_size bug --- crypto1_bs_crack.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/crypto1_bs_crack.c b/crypto1_bs_crack.c index e4c9ee7..90aba63 100644 --- a/crypto1_bs_crack.c +++ b/crypto1_bs_crack.c @@ -136,11 +136,13 @@ inline uint64_t crack_states_bitsliced(uint32_t **task){ } } -#ifdef EXACT_COUNT // Fix a "1000000% bug". Looks like here is a problem with OS X gcc - bucket_states_tested += bucket_size[block_idx] > MAX_BITSLICES ? MAX_BITSLICES : bucket_size[block_idx]; + size_t current_bucket_size = bucket_size[block_idx] > MAX_BITSLICES ? MAX_BITSLICES : bucket_size[block_idx]; + +#ifdef EXACT_COUNT + bucket_states_tested += current_bucket_size; #ifdef ONLINE_COUNT - __atomic_fetch_add(&total_states_tested, bucket_size[block_idx] > MAX_BITSLICES ? MAX_BITSLICES : bucket_size[block_idx], __ATOMIC_RELAXED); + __atomic_fetch_add(&total_states_tested, current_bucket_size, __ATOMIC_RELAXED); #endif #else #ifdef ONLINE_COUNT