diff options
Diffstat (limited to 'src/lib/libssl/s3_pkt.c')
-rw-r--r-- | src/lib/libssl/s3_pkt.c | 6 |
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); |