From: Arran Cudbard-Bell Date: Mon, 8 Mar 2021 22:26:13 +0000 (+0000) Subject: Add destructor to _udp_result_free so we can easily set break points X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=15315bd5de2995f97b239dcf9d4980ff93b3a866;p=thirdparty%2Ffreeradius-server.git Add destructor to _udp_result_free so we can easily set break points --- diff --git a/src/modules/rlm_radius/rlm_radius_udp.c b/src/modules/rlm_radius/rlm_radius_udp.c index 41b6dd74b37..c053d8df13b 100644 --- a/src/modules/rlm_radius/rlm_radius_udp.c +++ b/src/modules/rlm_radius/rlm_radius_udp.c @@ -2323,7 +2323,7 @@ static void request_demux(fr_trunk_connection_t *tconn, fr_connection_t *conn, U ssize_t slen; fr_trunk_request_t *treq; - request_t *request; + request_t *request; udp_request_t *u; udp_result_t *r; radius_track_entry_t *rr; @@ -2658,6 +2658,17 @@ static void mod_signal(module_ctx_t const *mctx, UNUSED request_t *request, } } +#ifndef NDEBUG +/** Free a udp_result_t + * + * Allows us to set break points for debugging. + */ +static int _udp_result_free(UNUSED udp_result_t *u) +{ + return 0; +} +#endif + /** Free a udp_request_t */ static int _udp_request_free(udp_request_t *u) @@ -2689,8 +2700,11 @@ static unlang_action_t mod_enqueue(rlm_rcode_t *p_result, void **rctx_out, void if (!treq) RETURN_MODULE_FAIL; MEM(r = talloc_zero(request, udp_result_t)); - MEM(u = talloc(treq, udp_request_t)); +#ifndef NDEBUG + talloc_set_destructor(r, _udp_result_free); +#endif + MEM(u = talloc(treq, udp_request_t)); *u = (udp_request_t){ .code = request->packet->code, .synchronous = inst->parent->synchronous, @@ -2724,6 +2738,7 @@ static unlang_action_t mod_enqueue(rlm_rcode_t *p_result, void **rctx_out, void } r->treq = treq; /* Remember for signalling purposes */ + talloc_set_destructor(u, _udp_request_free); *rctx_out = r;