Sfoglia il codice sorgente

crypto: chcr - Fix memory corruption

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>
Harsh Jain 9 anni fa
parent
commit
66bf093772
1 ha cambiato i file con 2 aggiunte e 1 eliminazioni
  1. 2 1
      drivers/crypto/chelsio/chcr_algo.h

+ 2 - 1
drivers/crypto/chelsio/chcr_algo.h

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