From d84d8385cda1bf795a927a019b26db8bb9d0a4c4 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 27 Nov 2009 15:24:32 -0500 Subject: [PATCH] Fix two use-after-free bugs in unit tests spoted by lock debugging --- test/regress.c | 4 ++-- test/regress_main.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/regress.c b/test/regress.c index aeb6a0b2..4e4e11bf 100644 --- a/test/regress.c +++ b/test/regress.c @@ -1185,11 +1185,11 @@ test_loopexit_multiple(void) event_base_dispatch(base); - event_base_free(base); - tt_assert(event_base_got_exit(base)); tt_assert(!event_base_got_break(base)); + event_base_free(base); + test_ok = 1; end: diff --git a/test/regress_main.c b/test/regress_main.c index b8460db0..685ac14b 100644 --- a/test/regress_main.c +++ b/test/regress_main.c @@ -217,15 +217,15 @@ basic_test_cleanup(const struct testcase_t *testcase, void *ptr) EVUTIL_CLOSESOCKET(data->pair[1]); } + if (testcase->flags & TT_NEED_DNS) { + evdns_shutdown(0); + } + if (testcase->flags & TT_NEED_BASE) { if (data->base) event_base_free(data->base); } - if (testcase->flags & TT_NEED_DNS) { - evdns_shutdown(0); - } - free(data); return 1;