crypto: sun4i-ss - do not dynamically set parts of the last buffer to 0
authorAntoine Ténart <antoine.tenart@free-electrons.com>
Thu, 1 Jun 2017 19:38:57 +0000 (21:38 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 19 Jun 2017 06:19:50 +0000 (14:19 +0800)
Parts of the bf buffer were dynamically set to 0. Change this to set the
whole buffer to 0 by default to avoid any mistake.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Acked-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/sunxi-ss/sun4i-ss-hash.c

index bc3cbde..518bc7a 100644 (file)
@@ -179,7 +179,7 @@ static int sun4i_hash(struct ahash_request *areq)
         */
        unsigned int i = 0, end, index, padlen, nwait, nbw = 0, j = 0, todo;
        unsigned int in_i = 0;
-       u32 spaces, rx_cnt = SS_RX_DEFAULT, bf[32], wb = 0, v, ivmode = 0;
+       u32 spaces, rx_cnt = SS_RX_DEFAULT, bf[32] = {0}, wb = 0, v, ivmode = 0;
        struct sun4i_req_ctx *op = ahash_request_ctx(areq);
        struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
        struct sun4i_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
@@ -417,7 +417,6 @@ hash_final:
                zeros = (padlen - 1) / 4;
        }
 
-       memset(bf + j, 0, 4 * zeros);
        j += zeros;
 
        /* write the length of data */