summaryrefslogtreecommitdiffstats
path: root/sys/opencrypto
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2005-08-16 18:59:00 +0000
committerpjd <pjd@FreeBSD.org>2005-08-16 18:59:00 +0000
commit372c5a7d070d26ae5777e72e5403b62d9f0da99e (patch)
tree667a1055e89ba718cbf020e12793de0cd3a16ca7 /sys/opencrypto
parent1d6676e5bc30f3c6a759289b8e17002de8f5a721 (diff)
downloadFreeBSD-src-372c5a7d070d26ae5777e72e5403b62d9f0da99e.zip
FreeBSD-src-372c5a7d070d26ae5777e72e5403b62d9f0da99e.tar.gz
Check key size for rijndael, as invalid key size can lead to kernel panic.
It checked other algorithms against this bug and it seems they aren't affected. Reported by: Mike Tancsa <mike@sentex.net> PR: i386/84860 Reviewed by: phk, cperciva(x2)
Diffstat (limited to 'sys/opencrypto')
-rw-r--r--sys/opencrypto/xform.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/opencrypto/xform.c b/sys/opencrypto/xform.c
index 5dfb317..a24d6da 100644
--- a/sys/opencrypto/xform.c
+++ b/sys/opencrypto/xform.c
@@ -512,6 +512,8 @@ rijndael128_setkey(u_int8_t **sched, u_int8_t *key, int len)
{
int err;
+ if (len != 16 && len != 24 && len != 32)
+ return (EINVAL);
MALLOC(*sched, u_int8_t *, sizeof(rijndael_ctx), M_CRYPTO_DATA,
M_NOWAIT|M_ZERO);
if (*sched != NULL) {
OpenPOWER on IntegriCloud