summaryrefslogtreecommitdiff
path: root/crypto/openssl/ssl/s3_both.c
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2002-01-27 03:13:07 +0000
committerKris Kennaway <kris@FreeBSD.org>2002-01-27 03:13:07 +0000
commita21b1b381ecca3813b44ac652d05a5133d3f4e2b (patch)
tree844bea9e360a2132b36667e0042dd30ac9f931ff /crypto/openssl/ssl/s3_both.c
parent26d191b459ef5c6e6f66683faef459d6cf694aa2 (diff)
Notes
Diffstat (limited to 'crypto/openssl/ssl/s3_both.c')
-rw-r--r--crypto/openssl/ssl/s3_both.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/openssl/ssl/s3_both.c b/crypto/openssl/ssl/s3_both.c
index 10d8d3b15afc..3f09b8bc1756 100644
--- a/crypto/openssl/ssl/s3_both.c
+++ b/crypto/openssl/ssl/s3_both.c
@@ -383,7 +383,11 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok)
* if their format is correct. Does not count for
* 'Finished' MAC. */
if (p[1] == 0 && p[2] == 0 &&p[3] == 0)
+ {
+ s->init_num = 0;
skip_message = 1;
+ }
+
}
while (skip_message);
@@ -432,6 +436,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);