summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s3_pkt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/s3_pkt.c')
-rw-r--r--src/lib/libssl/s3_pkt.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/libssl/s3_pkt.c b/src/lib/libssl/s3_pkt.c
index e3f6050a26..f9b3629cf7 100644
--- a/src/lib/libssl/s3_pkt.c
+++ b/src/lib/libssl/s3_pkt.c
@@ -246,7 +246,8 @@ int ssl3_read_n(SSL *s, int n, int max, int extend)
246 if (i <= 0) 246 if (i <= 0)
247 { 247 {
248 rb->left = left; 248 rb->left = left;
249 if (s->mode & SSL_MODE_RELEASE_BUFFERS) 249 if (s->mode & SSL_MODE_RELEASE_BUFFERS &&
250 SSL_version(s) != DTLS1_VERSION && SSL_version(s) != DTLS1_BAD_VER)
250 if (len+left == 0) 251 if (len+left == 0)
251 ssl3_release_read_buffer(s); 252 ssl3_release_read_buffer(s);
252 return(i); 253 return(i);
@@ -846,7 +847,8 @@ int ssl3_write_pending(SSL *s, int type, const unsigned char *buf,
846 { 847 {
847 wb->left=0; 848 wb->left=0;
848 wb->offset+=i; 849 wb->offset+=i;
849 if (s->mode & SSL_MODE_RELEASE_BUFFERS) 850 if (s->mode & SSL_MODE_RELEASE_BUFFERS &&
851 SSL_version(s) != DTLS1_VERSION && SSL_version(s) != DTLS1_BAD_VER)
850 ssl3_release_write_buffer(s); 852 ssl3_release_write_buffer(s);
851 s->rwstate=SSL_NOTHING; 853 s->rwstate=SSL_NOTHING;
852 return(s->s3->wpend_ret); 854 return(s->s3->wpend_ret);