diff --git a/src/dispatch.c b/src/dispatch.c index 95becf6bc..25c40ea7f 100644 --- a/src/dispatch.c +++ b/src/dispatch.c @@ -1406,6 +1406,14 @@ static int calc (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param) line_len = (u32) rule_len_out; } + if (user_options->attack_mode == ATTACK_MODE_ASSOCIATION) + { + // we can't reject password base on length in -a 9 because it will bring the schedule out of sync + // therefore we render it defective so the other candidates survive + + line_len = MIN (line_len, hashconfig->pw_max); + } + if (attack_kern == ATTACK_KERN_STRAIGHT) { if ((line_len < hashconfig->pw_min) || (line_len > hashconfig->pw_max))