crypto: aead - add check for presence of auth tag

The AEAD decryption operation requires the authentication tag to be
present as part of the cipher text buffer. The added check verifies that
the caller provides a cipher text with at least the authentication tag.

Signed-off-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Stephan Mueller 2015-01-05 12:21:45 +01:00 коммит произвёл Herbert Xu
Родитель 42d2e780c6
Коммит 15acabfd02
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -1412,6 +1412,9 @@ static inline int crypto_aead_encrypt(struct aead_request *req)
*/ */
static inline int crypto_aead_decrypt(struct aead_request *req) static inline int crypto_aead_decrypt(struct aead_request *req)
{ {
if (req->cryptlen < crypto_aead_authsize(crypto_aead_reqtfm(req)))
return -EINVAL;
return crypto_aead_crt(crypto_aead_reqtfm(req))->decrypt(req); return crypto_aead_crt(crypto_aead_reqtfm(req))->decrypt(req);
} }