diff -urpN john-1.7.8-jumbo-6a/src/bench.c john-1.7.8-jumbo-6b/src/bench.c --- john-1.7.8-jumbo-6a/src/bench.c 2011-08-03 16:19:13.000000000 +0000 +++ john-1.7.8-jumbo-6b/src/bench.c 2011-09-08 19:35:08.828125000 +0000 @@ -82,9 +82,12 @@ static void bench_handle_timer(int signu static void bench_set_keys(struct fmt_main *format, struct fmt_tests *current, int cond) { - char *plaintext; + char *_plaintext; + static char *plaintext; int index, length; + if (!plaintext) plaintext = mem_alloc_tiny(4096, MEM_ALIGN_WORD); + format->methods.clear_keys(); length = format->params.benchmark_length; @@ -92,7 +95,9 @@ static void bench_set_keys(struct fmt_ma do { if (!current->ciphertext) current = format->params.tests; - plaintext = current->plaintext; + _plaintext = current->plaintext; + strcpy(plaintext, _plaintext); + *plaintext ^= 0x22; current++; if (cond > 0) {