Stolen shamelessly from FreeBSD Index: crypto/heimdal/appl/telnet/libtelnet/encrypt.c =================================================================== --- appl/telnet/libtelnet/encrypt.c (revision 228798) +++ appl/telnet/libtelnet/encrypt.c (working copy) @@ -736,6 +736,9 @@ int dir = kp->dir; int ret = 0; + if (len > MAXKEYLEN) + len = MAXKEYLEN; + if (!(ep = (*kp->getcrypt)(*kp->modep))) { if (len == 0) return;