crypto: aead - Do not allow authsize=0 if auth. alg has digestsize>0
Return -EINVAL on an attempt to set the authsize to 0 with an auth. algorithm with a non-zero digestsize (i.e. anything but digest_null) as authenticating the data and then throwing away the result does not make any sense at all. The digestsize zero exception is for use with digest_null for testing purposes only. Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Родитель
440dc9aab5
Коммит
a62084d299
|
@ -70,7 +70,8 @@ int crypto_aead_setauthsize(struct crypto_aead *tfm, unsigned int authsize)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (authsize > crypto_aead_maxauthsize(tfm))
|
if ((!authsize && crypto_aead_maxauthsize(tfm)) ||
|
||||||
|
authsize > crypto_aead_maxauthsize(tfm))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (crypto_aead_alg(tfm)->setauthsize) {
|
if (crypto_aead_alg(tfm)->setauthsize) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче