summaryrefslogtreecommitdiffstats
path: root/ssl/d1_lib.c
diff options
context:
space:
mode:
authorzhu qun-ying <qunying@yahoo.com>2014-06-02 14:38:52 +0100
committerDr. Stephen Henson <steve@openssl.org>2014-06-02 23:55:55 +0100
commit470990fee0182566d439ef7e82d1abf18b7085d7 (patch)
treea2102174ec9b4596b58d0dd5104e760bd8e3aa5d /ssl/d1_lib.c
parent030a3f95275cc96c9ef40ec0897ce7cbe3a82dac (diff)
Free up s->d1->buffered_app_data.q properly.
PR#3286
Diffstat (limited to 'ssl/d1_lib.c')
-rw-r--r--ssl/d1_lib.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c
index 2287ba6fa4..7d9d91ff2c 100644
--- a/ssl/d1_lib.c
+++ b/ssl/d1_lib.c
@@ -202,9 +202,12 @@ static void dtls1_clear_queues(SSL *s)
while ( (item = pqueue_pop(s->d1->buffered_app_data.q)) != NULL)
{
- frag = (hm_fragment *)item->data;
- OPENSSL_free(frag->fragment);
- OPENSSL_free(frag);
+ rdata = (DTLS1_RECORD_DATA *) item->data;
+ if (rdata->rbuf.buf)
+ {
+ OPENSSL_free(rdata->rbuf.buf);
+ }
+ OPENSSL_free(item->data);
pitem_free(item);
}
}