From 23782a4414c08577cede3b027d4116e8187fe0cc Mon Sep 17 00:00:00 2001 From: o9000 Date: Wed, 15 Nov 2017 12:08:29 +0100 Subject: [PATCH] Timer: fix use after free --- src/util/timer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/timer.c b/src/util/timer.c index 698c77c..db7a30c 100644 --- a/src/util/timer.c +++ b/src/util/timer.c @@ -384,6 +384,7 @@ void callback_multi_timeout(void *arg) gettime(&cur_time); GSList *it = mth->timeout_list; while (it) { + GSList *next = it->next; timeout *t = it->data; if (++t->multi_timeout->current_count >= t->multi_timeout->count_to_expiration) { t->_callback(t->arg); @@ -395,7 +396,7 @@ void callback_multi_timeout(void *arg) return; } } - it = it->next; + it = next; } }