crypto: chcr - Fix memory corruption
authorHarsh Jain <harsh@chelsio.com>
Tue, 29 Nov 2016 13:30:34 +0000 (19:00 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 30 Nov 2016 11:46:44 +0000 (19:46 +0800)
Fix memory corruption done by  *((u32 *)dec_key + k)
 operation.

Signed-off-by: Jitendra Lulla <JLULLA@chelsio.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/chelsio/chcr_algo.h

index ec64fbcdeb49230d10fce5cda83dc238dbb45500..199b0bb69b89bcd5c96af1a9355208b367737089 100644 (file)
@@ -422,7 +422,7 @@ static inline void get_aes_decrypt_key(unsigned char *dec_key,
 {
        u32 temp;
        u32 w_ring[MAX_NK];
-       int i, j, k = 0;
+       int i, j, k;
        u8  nr, nk;
 
        switch (keylength) {
@@ -460,6 +460,7 @@ static inline void get_aes_decrypt_key(unsigned char *dec_key,
                temp = w_ring[i % nk];
                i++;
        }
+       i--;
        for (k = 0, j = i % nk; k < nk; k++) {
                *((u32 *)dec_key + k) = htonl(w_ring[j]);
                j--;