diff --git a/libtelnet/encrypt.c b/libtelnet/encrypt.c index 8bdf672..f8e9194 100644 --- a/libtelnet/encrypt.c +++ b/libtelnet/encrypt.c @@ -721,6 +721,9 @@ encrypt_keyid(struct key_info *kp, unsigned char *keyid, int len) int dir = kp->dir; int ret = 0; + if (len > MAXKEYLEN) + len = MAXKEYLEN; + if (!(ep = (*kp->getcrypt)(*kp->modep))) { if (len == 0) return;