From: Alan T. DeKok Date: Fri, 14 Feb 2020 21:18:26 +0000 (-0500) Subject: be more accepting of corner cases X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b7693ff31ed4904f196c12a20a46fa2ecd14909;p=thirdparty%2Ffreeradius-server.git be more accepting of corner cases --- diff --git a/src/lib/util/event.c b/src/lib/util/event.c index 5580aa1c5a6..b9340466d7a 100644 --- a/src/lib/util/event.c +++ b/src/lib/util/event.c @@ -991,13 +991,11 @@ static int _event_timer_free(fr_event_timer_t *ev) { fr_event_list_t *el = ev->el; fr_event_timer_t const **ev_p; - int ret; + int ret = -1; if (el->in_handler) { fr_event_timer_t **tmp_p; - ret = -1; - for (tmp_p = &el->ev_to_add; *tmp_p != NULL; tmp_p = &((*tmp_p)->next)) { @@ -1007,10 +1005,10 @@ static int _event_timer_free(fr_event_timer_t *ev) break; } } - } else { - ret = fr_heap_extract(el->times, ev); } + if (ret < 0) ret = fr_heap_extract(el->times, ev); + ev_p = ev->parent; rad_assert(*(ev->parent) == ev); *ev_p = NULL;