summaryrefslogtreecommitdiffstats
path: root/ssl/d1_lib.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-05-25 14:30:20 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-05-25 14:30:20 +0000
commit006b54a8ebf69ecc5b8a8259e95ac71d29c79973 (patch)
treeb83da52b15cd885ac75557967e80cdf54d25c588 /ssl/d1_lib.c
parent44ddb27fa69de40c700b66209784d89a4d63d8a5 (diff)
Oops use up to date patch for PR#2506
Diffstat (limited to 'ssl/d1_lib.c')
-rw-r--r--ssl/d1_lib.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c
index fafc5c0bc6..9fe6b2b8f7 100644
--- a/ssl/d1_lib.c
+++ b/ssl/d1_lib.c
@@ -133,15 +133,26 @@ static void dtls1_clear_queues(SSL *s)
{
pitem *item = NULL;
hm_fragment *frag = NULL;
-
+ DTLS1_RECORD_DATA *rdata;
+
while( (item = pqueue_pop(s->d1->unprocessed_rcds.q)) != NULL)
{
+ rdata = (DTLS1_RECORD_DATA *) item->data;
+ if (rdata->rbuf.buf)
+ {
+ OPENSSL_free(rdata->rbuf.buf);
+ }
OPENSSL_free(item->data);
pitem_free(item);
}
while( (item = pqueue_pop(s->d1->processed_rcds.q)) != NULL)
{
+ rdata = (DTLS1_RECORD_DATA *) item->data;
+ if (rdata->rbuf.buf)
+ {
+ OPENSSL_free(rdata->rbuf.buf);
+ }
OPENSSL_free(item->data);
pitem_free(item);
}