summaryrefslogtreecommitdiffstats
path: root/crypto/eseqiv.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2008-04-29 21:57:01 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2008-05-01 18:22:28 +0800
commit46f8153cc59384eb09a426d044668d4801f818ce (patch)
tree1d7455db8ebdc14ad049f0fc7e006a61d79b503a /crypto/eseqiv.c
parent8ec970d8561abb5645d4602433b772e268c96d05 (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>
Diffstat (limited to 'crypto/eseqiv.c')
-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);