diff options
author | Matt Caswell <matt@openssl.org> | 2015-01-30 16:05:47 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-03-26 13:53:07 +0000 |
commit | db9a32e7193ef5841e5a021061237b8b24f68126 (patch) | |
tree | d9c90fb8f825f4e920297f38bfdf9db5e6a57c37 /ssl/s3_both.c | |
parent | 33d23b87a0d06bc497a13b1998737a1ce469a785 (diff) |
Encapsulate access to s->s3->wbuf
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'ssl/s3_both.c')
-rw-r--r-- | ssl/s3_both.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/ssl/s3_both.c b/ssl/s3_both.c index c8be27b601..d67be913c2 100644 --- a/ssl/s3_both.c +++ b/ssl/s3_both.c @@ -619,6 +619,9 @@ int ssl3_setup_write_buffer(SSL *s) { unsigned char *p; size_t len, align = 0, headerlen; + SSL3_BUFFER *wb; + + wb = RECORD_LAYER_get_wbuf(&s->rlayer); if (SSL_version(s) == DTLS1_VERSION || SSL_version(s) == DTLS1_BAD_VER) headerlen = DTLS1_RT_HEADER_LENGTH + 1; @@ -629,7 +632,7 @@ int ssl3_setup_write_buffer(SSL *s) align = (-SSL3_RT_HEADER_LENGTH) & (SSL3_ALIGN_PAYLOAD - 1); #endif - if (s->s3->wbuf.buf == NULL) { + if (wb->buf == NULL) { len = s->max_send_fragment + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD + headerlen + align; #ifndef OPENSSL_NO_COMP @@ -641,8 +644,8 @@ int ssl3_setup_write_buffer(SSL *s) if ((p = OPENSSL_malloc(len)) == NULL) goto err; - s->s3->wbuf.buf = p; - s->s3->wbuf.len = len; + wb->buf = p; + wb->len = len; } return 1; @@ -663,9 +666,13 @@ int ssl3_setup_buffers(SSL *s) int ssl3_release_write_buffer(SSL *s) { - if (s->s3->wbuf.buf != NULL) { - OPENSSL_free(s->s3->wbuf.buf); - s->s3->wbuf.buf = NULL; + SSL3_BUFFER *wb; + + wb = RECORD_LAYER_get_wbuf(&s->rlayer); + + if (wb->buf != NULL) { + OPENSSL_free(wb->buf); + wb->buf = NULL; } return 1; } |