Fix ssl3_get_message handle message fragmentation correctly.
[openssl.git] / ssl / s3_both.c
index 21531d5dbe57ca698723d2fd12a5848dd1b5b0f8..cd97280374e1e941f0cb4977ab64699d9d6292c8 100644 (file)
@@ -440,6 +440,7 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok)
        /* next state (stn) */
        p=(unsigned char *)s->init_buf->data;
        n=s->s3->tmp.message_size;
+       n -= s->init_num;
        while (n > 0)
                {
                i=ssl3_read_bytes(s,SSL3_RT_HANDSHAKE,&p[s->init_num],n,0);