diff --git a/crypto/authenc.c b/crypto/authenc.c index 80d9d0b18c13c1dbbe3ba4f85c08d2b332e24c01..aa442dea5c43ed92f591e14868d66ba7c1b3e1e6 100644 --- a/crypto/authenc.c +++ b/crypto/authenc.c @@ -44,7 +44,7 @@ static int crypto_authenc_setkey(struct crypto_aead *authenc, const u8 *key, struct crypto_authenc_key_param *param; int err = -EINVAL; - if (keylen < sizeof(*rta)) + if (!RTA_OK(rta, keylen)) goto badkey; if (rta->rta_type != CRYPTO_AUTHENC_KEYA_PARAM) goto badkey;