Pārlūkot izejas kodu

crypto: eseqiv - Fix IV generation for sync algorithms

If crypto_ablkcipher_encrypt() returns synchronous,
eseqiv_complete2() is called even if req->giv is already the
pointer to the generated IV. The generated IV is overwritten
with some random data in this case. This patch fixes this by
calling eseqiv_complete2() just if the generated IV has to be
copied to req->giv.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Steffen Klassert 16 gadi atpakaļ
vecāks
revīzija
abe5fa7899
1 mainītis faili ar 2 papildinājumiem un 1 dzēšanām
  1. 2 1
      crypto/eseqiv.c

+ 2 - 1
crypto/eseqiv.c

@@ -153,7 +153,8 @@ static int eseqiv_givencrypt(struct skcipher_givcrypt_request *req)
 	if (err)
 	if (err)
 		goto out;
 		goto out;
 
 
-	eseqiv_complete2(req);
+	if (giv != req->giv)
+		eseqiv_complete2(req);
 
 
 out:
 out:
 	return err;
 	return err;