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
24dd0c61ef
commit
20e6d22709
1 changed files with 4 additions and 2 deletions
|
@ -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 a new issue