]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
trunk: don't leak connection pause on early return in requests_dequeue SENT loop
authorAlexander Bainbridge-Sedivy <alex.bainbridge@inkbridge.io>
Wed, 15 Jul 2026 19:54:34 +0000 (15:54 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 30 Jul 2026 15:19:57 +0000 (11:19 -0400)
src/lib/server/trunk.c

index fbfcd24f075b775dfee4e7ce17da7720b44d768a..af0fa128a3d28b1d85cf9f99dc68151b17f432e4 100644 (file)
@@ -1865,7 +1865,10 @@ static uint64_t trunk_connection_requests_dequeue(fr_dlist_head_t *out, trunk_co
                 */
                connection_signals_pause(tconn->pub.conn);
                while ((treq = fr_dlist_head(&tconn->sent))) {
-                       OVER_MAX_CHECK;
+                       if (++count > max) {
+                               count--;
+                               break;
+                       }
                        fr_assert(treq->pub.state == TRUNK_REQUEST_STATE_SENT);
 
                        trunk_request_enter_cancel(treq, TRUNK_CANCEL_REASON_MOVE);