]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
be more accepting of corner cases
authorAlan T. DeKok <aland@freeradius.org>
Fri, 14 Feb 2020 21:18:26 +0000 (16:18 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 14 Feb 2020 21:18:26 +0000 (16:18 -0500)
src/lib/util/event.c

index 5580aa1c5a6f310ba1696c885abac9091cea9ea8..b9340466d7a5d41c5ea5d337bdcdd6317f55a653 100644 (file)
@@ -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;