mirror of
https://github.com/openssl/openssl.git
synced 2025-03-01 19:28:10 +08:00
PR: 2533
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Reviewed by: steve Setting SSL_MODE_RELEASE_BUFFERS should be ignored for DTLS, but instead causes the program to crash. This is due to missing version checks and is fixed with this patch.
This commit is contained in:
parent
fd60dfa0f2
commit
3d52f1d52b
@ -247,7 +247,8 @@ int ssl3_read_n(SSL *s, int n, int max, int extend)
|
||||
if (i <= 0)
|
||||
{
|
||||
rb->left = left;
|
||||
if (s->mode & SSL_MODE_RELEASE_BUFFERS)
|
||||
if (s->mode & SSL_MODE_RELEASE_BUFFERS &&
|
||||
SSL_version(s) != DTLS1_VERSION && SSL_version(s) != DTLS1_BAD_VER)
|
||||
if (len+left == 0)
|
||||
ssl3_release_read_buffer(s);
|
||||
return(i);
|
||||
@ -866,7 +867,8 @@ int ssl3_write_pending(SSL *s, int type, const unsigned char *buf,
|
||||
{
|
||||
wb->left=0;
|
||||
wb->offset+=i;
|
||||
if (s->mode & SSL_MODE_RELEASE_BUFFERS)
|
||||
if (s->mode & SSL_MODE_RELEASE_BUFFERS &&
|
||||
SSL_version(s) != DTLS1_VERSION && SSL_version(s) != DTLS1_BAD_VER)
|
||||
ssl3_release_write_buffer(s);
|
||||
s->rwstate=SSL_NOTHING;
|
||||
return(s->s3->wpend_ret);
|
||||
|
Loading…
Reference in New Issue
Block a user