]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
remove from rbtree on unlink
authorAlan T. DeKok <aland@freeradius.org>
Tue, 1 Jun 2021 11:50:16 +0000 (07:50 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 1 Jun 2021 11:50:16 +0000 (07:50 -0400)
src/main/state.c

index d4da2948b6057ead38f32c50385bb2e638244ff0..8b37b4add8f61ce8ae4ec30ca84c53a306f4d67b 100644 (file)
@@ -113,6 +113,8 @@ static void state_entry_unlink(fr_state_t *state, state_entry_t *entry)
                rad_assert(state->tail == entry);
                state->tail = prev;
        }
+
+       rbtree_deletebydata(state->tree, entry);
 }
 
 /*
@@ -138,8 +140,6 @@ static void state_entry_free(fr_state_t *state, state_entry_t *entry)
 #ifdef WITH_VERIFY_PTR
        (void) talloc_get_type_abort(entry, state_entry_t);
 #endif
-       rbtree_deletebydata(state->tree, entry);
-
        if (entry->ctx) talloc_free(entry->ctx);
 
        talloc_free(entry);