--- libtelnet/encrypt.c 1998-04-01 11:32:02.000000000 +0000 +++ libtelnet/encrypt.c.oden 2011-12-28 10:28:31.000000000 +0000 @@ -737,6 +737,9 @@ encrypt_keyid(struct key_info *kp, unsig int dir = kp->dir; int ret = 0; + if (len > MAXKEYLEN) + len = MAXKEYLEN; + if (!(ep = (*kp->getcrypt)(*kp->modep))) { if (len == 0) return;