From d48c1c62912bf8959d7c2aafff2f9bb61d618f0b Mon Sep 17 00:00:00 2001
From: jsteube <jens.steube@gmail.com>
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);