diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c index 7728284befd9c10846a0b5bc6ef7e0f2ba509f0c..93d1461a32678c9511cc70f85b6a9c60288ee3e2 100644 --- a/ssl/s3_pkt.c +++ b/ssl/s3_pkt.c @@ -167,6 +167,11 @@ static int ssl3_read_n(SSL *s, int n, int max, int extend) if (max > max_max) max = max_max; } + if (n > max) /* does not happen */ + { + SSLerr(SSL_F_SSL3_READ_N,SSL_R_INTERNAL_ERROR); + return -1; + } off = s->packet_length; newb = s->s3->rbuf.left;