From d48c1c62912bf8959d7c2aafff2f9bb61d618f0b Mon Sep 17 00:00:00 2001 From: jsteube Date: Tue, 14 Feb 2017 13:28:25 +0100 Subject: [PATCH] Workaround for CID 1402437 (#1 of 1): Out-of-bounds write --- src/cpu_crc32.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/cpu_crc32.c b/src/cpu_crc32.c index 6c91071fa..63365be8d 100644 --- a/src/cpu_crc32.c +++ b/src/cpu_crc32.c @@ -116,12 +116,10 @@ int cpu_crc32 (hashcat_ctx_t *hashcat_ctx, const char *filename, u8 keytab[64]) { crc = crc32tab[(crc ^ buf[fpos]) & 0xff] ^ (crc >> 8); - keytab[kpos++] += (crc >> 24) & 0xff; - keytab[kpos++] += (crc >> 16) & 0xff; - keytab[kpos++] += (crc >> 8) & 0xff; - keytab[kpos++] += (crc >> 0) & 0xff; - - if (kpos >= 64) kpos = 0; + keytab[kpos++] += (crc >> 24) & 0xff; if (kpos >= 64) kpos = 0; + keytab[kpos++] += (crc >> 16) & 0xff; if (kpos >= 64) kpos = 0; + keytab[kpos++] += (crc >> 8) & 0xff; if (kpos >= 64) kpos = 0; + keytab[kpos++] += (crc >> 0) & 0xff; if (kpos >= 64) kpos = 0; } hcfree (buf);