summaryrefslogtreecommitdiff
path: root/cipher/idea.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2021-04-02 09:49:06 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2021-04-02 10:14:02 +0900
commit840713de1a685920b6b1e1379902d545eccc74cf (patch)
treeba26ee123c1afd7a85738b78da92198bc65d963c /cipher/idea.c
parentaaa30381eac3cdb49a21e279b2d89ef6e695a138 (diff)
downloadlibgcrypt-840713de1a685920b6b1e1379902d545eccc74cf.tar.gz
cipher: Return GPG_ERR_INV_KEYLEN when wrong key length.
* cipher/idea.c (do_setkey): Return GPG_ERR_INV_KEYLEN. * cipher/rfc2268.c (setkey_core): Likewise. * cipher/serpent.c (serpent_setkey_internal): Likewise. (serpent_setkey): Likewise. -- Reported-by: Guido Vranken <guidovranken@gmail.com> Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'cipher/idea.c')
-rw-r--r--cipher/idea.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/cipher/idea.c b/cipher/idea.c
index 0a810818..7f706660 100644
--- a/cipher/idea.c
+++ b/cipher/idea.c
@@ -251,7 +251,9 @@ do_setkey( IDEA_context *c, const byte *key, unsigned int keylen )
if( selftest_failed )
return GPG_ERR_SELFTEST_FAILED;
- assert(keylen == 16);
+ if (keylen != 16)
+ return GPG_ERR_INV_KEYLEN;
+
c->have_dk = 0;
expand_key( key, c->ek );
invert_key( c->ek, c->dk );