In ssl3_clear, preserve s3->init_extra along with s3->rbuf.
Submitted by: Bob Buckholz <bbuckholz@google.com>
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -4,6 +4,9 @@
|
|||||||
|
|
||||||
Changes between 0.9.8r and 0.9.8s [xx XXX xxxx]
|
Changes between 0.9.8r and 0.9.8s [xx XXX xxxx]
|
||||||
|
|
||||||
|
*) In ssl3_clear, preserve s3->init_extra along with s3->rbuf.
|
||||||
|
[Bob Buckholz (Google)]
|
||||||
|
|
||||||
*) Fix SSL memory handling for (EC)DH ciphersuites, in particular
|
*) Fix SSL memory handling for (EC)DH ciphersuites, in particular
|
||||||
for multi-threaded use of ECDH.
|
for multi-threaded use of ECDH.
|
||||||
[Adam Langley (Google)]
|
[Adam Langley (Google)]
|
||||||
|
|||||||
@@ -1710,6 +1710,7 @@ void ssl3_clear(SSL *s)
|
|||||||
{
|
{
|
||||||
unsigned char *rp,*wp;
|
unsigned char *rp,*wp;
|
||||||
size_t rlen, wlen;
|
size_t rlen, wlen;
|
||||||
|
int init_extra;
|
||||||
|
|
||||||
ssl3_cleanup_key_block(s);
|
ssl3_cleanup_key_block(s);
|
||||||
if (s->s3->tmp.ca_names != NULL)
|
if (s->s3->tmp.ca_names != NULL)
|
||||||
@@ -1739,6 +1740,7 @@ void ssl3_clear(SSL *s)
|
|||||||
wp = s->s3->wbuf.buf;
|
wp = s->s3->wbuf.buf;
|
||||||
rlen = s->s3->rbuf.len;
|
rlen = s->s3->rbuf.len;
|
||||||
wlen = s->s3->wbuf.len;
|
wlen = s->s3->wbuf.len;
|
||||||
|
init_extra = s->s3->init_extra;
|
||||||
|
|
||||||
EVP_MD_CTX_cleanup(&s->s3->finish_dgst1);
|
EVP_MD_CTX_cleanup(&s->s3->finish_dgst1);
|
||||||
EVP_MD_CTX_cleanup(&s->s3->finish_dgst2);
|
EVP_MD_CTX_cleanup(&s->s3->finish_dgst2);
|
||||||
@@ -1748,6 +1750,7 @@ void ssl3_clear(SSL *s)
|
|||||||
s->s3->wbuf.buf = wp;
|
s->s3->wbuf.buf = wp;
|
||||||
s->s3->rbuf.len = rlen;
|
s->s3->rbuf.len = rlen;
|
||||||
s->s3->wbuf.len = wlen;
|
s->s3->wbuf.len = wlen;
|
||||||
|
s->s3->init_extra = init_extra;
|
||||||
|
|
||||||
ssl_free_wbio_buffer(s);
|
ssl_free_wbio_buffer(s);
|
||||||
|
|
||||||
@@ -2641,4 +2644,3 @@ need to go to SSL_ST_ACCEPT.
|
|||||||
}
|
}
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user