Fixed NULL pointer dereference. See PR#3321

This commit is contained in:
Matt Caswell 2014-05-12 00:38:37 +01:00
parent 12cbba0d54
commit 92c2c6e88c

View File

@ -655,9 +655,6 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
SSL3_BUFFER *wb=&(s->s3->wbuf); SSL3_BUFFER *wb=&(s->s3->wbuf);
SSL_SESSION *sess; 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 /* first check if there is a SSL3_BUFFER still being written
* out. This will happen with non blocking IO */ * 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 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) if (len == 0 && !create_empty_fragment)
return 0; return 0;