summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2014-05-12 00:38:37 +0100
committerMatt Caswell <matt@openssl.org>2014-05-12 00:39:43 +0100
commitf710c3f198c9980a1056bac9b4b9617554254671 (patch)
treec9853992bee3f293c35aa733fdb8da2db5d3a7f8 /ssl
parent99a3d167d934da7499cdbe6cde7b42fff10fcd5c (diff)
Fixed NULL pointer dereference. See PR#3321
Diffstat (limited to 'ssl')
-rw-r--r--ssl/s3_pkt.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c
index 8a23de5f34..d0f3c764a3 100644
--- a/ssl/s3_pkt.c
+++ b/ssl/s3_pkt.c
@@ -841,9 +841,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 */
@@ -859,6 +856,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;