X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=ssl%2Fs3_lib.c;h=28eccb4ea0f4ca9c46af8eb3f10e60a185b8c1a7;hp=2097b79358be312060ed4677f0ef3b63d5c42158;hb=db9a32e7193ef5841e5a021061237b8b24f68126;hpb=33d23b87a0d06bc497a13b1998737a1ce469a785 diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 2097b79358..28eccb4ea0 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3131,7 +3131,7 @@ void ssl3_free(SSL *s) return; ssl3_cleanup_key_block(s); - if (s->s3->wbuf.buf != NULL) + if (SSL3_BUFFER_is_initialised(RECORD_LAYER_get_wbuf(&s->rlayer))) ssl3_release_write_buffer(s); if (s->s3->rrec.comp != NULL) OPENSSL_free(s->s3->rrec.comp); @@ -3188,8 +3188,8 @@ void ssl3_clear(SSL *s) # endif /* !OPENSSL_NO_EC */ #endif /* !OPENSSL_NO_TLSEXT */ - wp = s->s3->wbuf.buf; - wlen = s->s3->wbuf.len; + wp = SSL3_BUFFER_get_buf(RECORD_LAYER_get_wbuf(&s->rlayer)); + wlen = SSL3_BUFFER_get_len(RECORD_LAYER_get_wbuf(&s->rlayer)); init_extra = s->s3->init_extra; BIO_free(s->s3->handshake_buffer); s->s3->handshake_buffer = NULL; @@ -3203,8 +3203,8 @@ void ssl3_clear(SSL *s) } #endif memset(s->s3, 0, sizeof *s->s3); - s->s3->wbuf.buf = wp; - s->s3->wbuf.len = wlen; + SSL3_BUFFER_set_buf(RECORD_LAYER_get_wbuf(&s->rlayer), wp); + SSL3_BUFFER_set_len(RECORD_LAYER_get_wbuf(&s->rlayer), wlen); s->s3->init_extra = init_extra; ssl_free_wbio_buffer(s); @@ -4488,8 +4488,9 @@ int ssl3_renegotiate_check(SSL *s) int ret = 0; if (s->s3->renegotiate) { - if ((SSL3_BUFFER_get_left(RECORD_LAYER_get_rbuf(&s->rlayer)) == 0) && - (s->s3->wbuf.left == 0) && !SSL_in_init(s)) { + if ((SSL3_BUFFER_get_left(RECORD_LAYER_get_rbuf(&s->rlayer)) == 0) + && (SSL3_BUFFER_get_left(RECORD_LAYER_get_wbuf(&s->rlayer)) == 0) + && !SSL_in_init(s)) { /* * if we are the server, and we have sent a 'RENEGOTIATE' * message, we need to go to SSL_ST_ACCEPT.