From: Matt Caswell Date: Sun, 11 May 2014 23:38:37 +0000 (+0100) Subject: Fixed NULL pointer dereference. See PR#3321 X-Git-Tag: OpenSSL_1_0_0m~35 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=92c2c6e88ca36acd21bd3ecd311470100c297e4b Fixed NULL pointer dereference. See PR#3321 --- diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c index 772c089294..67f162c560 100644 --- a/ssl/s3_pkt.c +++ b/ssl/s3_pkt.c @@ -655,9 +655,6 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, SSL3_BUFFER *wb=&(s->s3->wbuf); SSL_SESSION *sess; - if (wb->buf == NULL) - if (!ssl3_setup_write_buffer(s)) - return -1; /* first check if there is a SSL3_BUFFER still being written * out. This will happen with non blocking IO */ @@ -673,6 +670,10 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, /* if it went, fall through and send more stuff */ } + if (wb->buf == NULL) + if (!ssl3_setup_write_buffer(s)) + return -1; + if (len == 0 && !create_empty_fragment) return 0;