From a69fbc6d8e8bdedf7ee40f85f0cfd17212e4bc9a Mon Sep 17 00:00:00 2001 From: miod <> Date: Fri, 11 Jul 2014 13:09:04 +0000 Subject: In dtls1_clear_queues(), free buffered_add_data.q correctly, it's made of DTLS1_RECORD_DATA, not hm_fragment. OpenSSL PR #3286 via OpenSSL trunk. --- src/lib/libssl/d1_lib.c | 8 ++++---- src/lib/libssl/src/ssl/d1_lib.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/lib') diff --git a/src/lib/libssl/d1_lib.c b/src/lib/libssl/d1_lib.c index 10f55554e0..0539ad4287 100644 --- a/src/lib/libssl/d1_lib.c +++ b/src/lib/libssl/d1_lib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: d1_lib.c,v 1.22 2014/07/09 11:10:51 bcook Exp $ */ +/* $OpenBSD: d1_lib.c,v 1.23 2014/07/11 13:09:04 miod Exp $ */ /* * DTLS implementation written by Nagendra Modadugu * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. @@ -179,9 +179,9 @@ dtls1_clear_queues(SSL *s) } while ((item = pqueue_pop(s->d1->buffered_app_data.q)) != NULL) { - frag = (hm_fragment *)item->data; - free(frag->fragment); - free(frag); + rdata = (DTLS1_RECORD_DATA *) item->data; + free(rdata->rbuf.buf); + free(item->data); pitem_free(item); } } diff --git a/src/lib/libssl/src/ssl/d1_lib.c b/src/lib/libssl/src/ssl/d1_lib.c index 10f55554e0..0539ad4287 100644 --- a/src/lib/libssl/src/ssl/d1_lib.c +++ b/src/lib/libssl/src/ssl/d1_lib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: d1_lib.c,v 1.22 2014/07/09 11:10:51 bcook Exp $ */ +/* $OpenBSD: d1_lib.c,v 1.23 2014/07/11 13:09:04 miod Exp $ */ /* * DTLS implementation written by Nagendra Modadugu * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. @@ -179,9 +179,9 @@ dtls1_clear_queues(SSL *s) } while ((item = pqueue_pop(s->d1->buffered_app_data.q)) != NULL) { - frag = (hm_fragment *)item->data; - free(frag->fragment); - free(frag); + rdata = (DTLS1_RECORD_DATA *) item->data; + free(rdata->rbuf.buf); + free(item->data); pitem_free(item); } } -- cgit v1.2.3-55-g6feb