summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorBodo Möller <bodo@openssl.org>2011-10-13 13:05:58 +0000
committerBodo Möller <bodo@openssl.org>2011-10-13 13:05:58 +0000
commit3ddc06f0826a9dc8dd90563b26e3ee46bd37ec4a (patch)
tree87d475016214e1222358573695e1a0cedb61866f /ssl
parentcdfe0fdde6a966bdb0447de66aa04a85d99a0551 (diff)
In ssl3_clear, preserve s3->init_extra along with s3->rbuf.
Submitted by: Bob Buckholz <bbuckholz@google.com>
Diffstat (limited to 'ssl')
-rw-r--r--ssl/s3_lib.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index 11c2190ed3..a81c80ddab 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -3000,6 +3000,7 @@ void ssl3_clear(SSL *s)
{
unsigned char *rp,*wp;
size_t rlen, wlen;
+ int init_extra;
#ifdef TLSEXT_TYPE_opaque_prf_input
if (s->s3->client_opaque_prf_input != NULL)
@@ -3038,6 +3039,7 @@ void ssl3_clear(SSL *s)
wp = s->s3->wbuf.buf;
rlen = s->s3->rbuf.len;
wlen = s->s3->wbuf.len;
+ init_extra = s->s3->init_extra;
if (s->s3->handshake_buffer) {
BIO_free(s->s3->handshake_buffer);
s->s3->handshake_buffer = NULL;
@@ -3050,6 +3052,7 @@ void ssl3_clear(SSL *s)
s->s3->wbuf.buf = wp;
s->s3->rbuf.len = rlen;
s->s3->wbuf.len = wlen;
+ s->s3->init_extra = init_extra;
ssl_free_wbio_buffer(s);