Updates from 1.0.0-stable.
This commit is contained in:
13
ssl/d1_lib.c
13
ssl/d1_lib.c
@@ -98,6 +98,7 @@ int dtls1_new(SSL *s)
|
||||
d1->processed_rcds.q=pqueue_new();
|
||||
d1->buffered_messages = pqueue_new();
|
||||
d1->sent_messages=pqueue_new();
|
||||
d1->buffered_app_data.q=pqueue_new();
|
||||
|
||||
if ( s->server)
|
||||
{
|
||||
@@ -105,12 +106,13 @@ int dtls1_new(SSL *s)
|
||||
}
|
||||
|
||||
if( ! d1->unprocessed_rcds.q || ! d1->processed_rcds.q
|
||||
|| ! d1->buffered_messages || ! d1->sent_messages)
|
||||
|| ! d1->buffered_messages || ! d1->sent_messages || ! d1->buffered_app_data.q)
|
||||
{
|
||||
if ( d1->unprocessed_rcds.q) pqueue_free(d1->unprocessed_rcds.q);
|
||||
if ( d1->processed_rcds.q) pqueue_free(d1->processed_rcds.q);
|
||||
if ( d1->buffered_messages) pqueue_free(d1->buffered_messages);
|
||||
if ( d1->sent_messages) pqueue_free(d1->sent_messages);
|
||||
if ( d1->buffered_app_data.q) pqueue_free(d1->buffered_app_data.q);
|
||||
OPENSSL_free(d1);
|
||||
return (0);
|
||||
}
|
||||
@@ -159,6 +161,15 @@ void dtls1_free(SSL *s)
|
||||
}
|
||||
pqueue_free(s->d1->sent_messages);
|
||||
|
||||
while ( (item = pqueue_pop(s->d1->buffered_app_data.q)) != NULL)
|
||||
{
|
||||
frag = (hm_fragment *)item->data;
|
||||
OPENSSL_free(frag->fragment);
|
||||
OPENSSL_free(frag);
|
||||
pitem_free(item);
|
||||
}
|
||||
pqueue_free(s->d1->buffered_app_data.q);
|
||||
|
||||
OPENSSL_free(s->d1);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user