aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Herbert Xu <herbert@gondor.apana.org.au> 2008-04-29 21:57:01 +0800
committerGravatar Herbert Xu <herbert@gondor.apana.org.au> 2008-05-01 18:22:28 +0800
commit46f8153cc59384eb09a426d044668d4801f818ce (patch)
tree1d7455db8ebdc14ad049f0fc7e006a61d79b503a
parent[CRYPTO] api: Fix scatterwalk_sg_chain (diff)
downloadlinux-46f8153cc59384eb09a426d044668d4801f818ce.tar.gz
linux-46f8153cc59384eb09a426d044668d4801f818ce.tar.bz2
linux-46f8153cc59384eb09a426d044668d4801f818ce.zip
[CRYPTO] eseqiv: Fix off-by-one encryption
After attaching the IV to the head during encryption, eseqiv does not increase the encryption length by that amount. As such the last block of the actual plain text will be left unencrypted. Fortunately the only user of this code hifn currently crashes so this shouldn't affect anyone :) Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--crypto/eseqiv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/eseqiv.c b/crypto/eseqiv.c
index b14f14e314b6..881d30910434 100644
--- a/crypto/eseqiv.c
+++ b/crypto/eseqiv.c
@@ -136,7 +136,8 @@ static int eseqiv_givencrypt(struct skcipher_givcrypt_request *req)
}
ablkcipher_request_set_crypt(subreq, reqctx->src, dst,
- req->creq.nbytes, req->creq.info);
+ req->creq.nbytes + ivsize,
+ req->creq.info);
memcpy(req->creq.info, ctx->salt, ivsize);