From 450119898c8dd5f9804f22fe2aaa249a42d9bada Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Wed, 9 Sep 2026 07:17:29 -0400 Subject: [PATCH] MT#55283 prevent use of global rtpe_arena Change-Id: I36c04a82ef5b42cda71ab9a3d3f656a9601a05d5 --- daemon/call.c | 4 ++++ include/call.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/daemon/call.c b/daemon/call.c index 638d99dc3..ba6c7ad58 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -5502,6 +5502,8 @@ static void __call_free(call_t *c) { //ilog(LOG_DEBUG, "freeing main call struct"); + memory_arena = &c->buffer; + call_checkpoint_free_all(c); obj_release(c->dtls_cert); mqtt_timer_stop(&c->mqtt_timer); @@ -5538,7 +5540,9 @@ static void __call_free(call_t *c) { bufferpool_unref(ps->stats_out); } + memory_arena = NULL; arena_free(&c->buffer); + ice_fragments_cleanup(c->sdp_fragments, true); t_hash_table_destroy(c->sdp_fragments); rwlock_destroy(&c->master_lock); diff --git a/include/call.h b/include/call.h index 9246d7ebf..b9b8589a7 100644 --- a/include/call.h +++ b/include/call.h @@ -1059,7 +1059,7 @@ INLINE void call_memory_arena_release(void) { return; obj_put(call_memory_arena); call_memory_arena = NULL; - memory_arena = &rtpe_arena; + memory_arena = NULL; } INLINE void call_memory_arena_set(call_t *c) { call_memory_arena_release();