From: Alan T. DeKok Date: Tue, 3 Oct 2017 15:37:11 +0000 (-0400) Subject: remove packet from c->queued on timeout or reply X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=990b92dec0e46ca2b220585db0776f4c22a5d2e0;p=thirdparty%2Ffreeradius-server.git remove packet from c->queued on timeout or reply --- diff --git a/src/modules/rlm_radius/rlm_radius_udp.c b/src/modules/rlm_radius/rlm_radius_udp.c index 340225dffc1..7b35881e296 100644 --- a/src/modules/rlm_radius/rlm_radius_udp.c +++ b/src/modules/rlm_radius/rlm_radius_udp.c @@ -444,6 +444,7 @@ static void mod_finished_request(rlm_radius_udp_connection_t *c, rlm_radius_udp_ * request from the "sent" list for this connection. */ if (c) { + (void) fr_heap_extract(c->queued, u); (void) rr_track_delete(c->id, u->rr); rad_assert(c->num_requests > 0); c->num_requests--; @@ -622,6 +623,7 @@ redo: * Stop all retransmissions for this packet. */ if (u->timer.ev) (void) fr_event_timer_delete(c->thread->el, &u->timer.ev); + (void) fr_heap_extract(c->queued, u); switch (c->state) { default: