From 8d287f2cfb8ab048176769966fffc044e02b5280 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 20 Jun 2012 10:49:24 +0000 Subject: [PATCH] -fix use after free, nicer loop --- src/testbed/testbed_api.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/testbed/testbed_api.c b/src/testbed/testbed_api.c index fc4b86603..4787ea25a 100644 --- a/src/testbed/testbed_api.c +++ b/src/testbed/testbed_api.c @@ -325,9 +325,12 @@ GNUNET_TESTBED_controller_stop (struct GNUNET_TESTBED_Controller *controller) if (NULL != controller->th) GNUNET_CLIENT_notify_transmit_ready_cancel (controller->th); - for (mq_entry = controller->mq_head; /* Clear the message queue */ - NULL != mq_entry; mq_entry = controller->mq_head) + /* Clear the message queue */ + while (NULL != (mq_entry = controller->mq_head)) { + GNUNET_CONTAINER_DLL_remove (controller->mq_head, + controller->mq_tail, + mq_entry); GNUNET_free (mq_entry->msg); GNUNET_free (mq_entry); } -- 2.25.1