From 89f8eb4125422ef01aeb4bb52a417225b796d4f5 Mon Sep 17 00:00:00 2001 From: Donat Zenichev Date: Thu, 11 Jun 2026 17:47:53 +0200 Subject: [PATCH] MT#61856 media_player: release previous `ssrc` when it differs To not leak on media changes (ssrc differs), release previous `->ssrc_out`, then overwrite the pointer. `get_ssrc()` returns an owned reference. Change-Id: Iaae6e24fe7b6a28bea06fb58794416d6c79894a2 --- daemon/media_player.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/daemon/media_player.c b/daemon/media_player.c index 2085e05c9..c89ed2149 100644 --- a/daemon/media_player.c +++ b/daemon/media_player.c @@ -1212,6 +1212,9 @@ void media_player_set_media(struct media_player *mp, struct call_media *media) { struct ssrc_entry_call *ssrc_ctx = get_ssrc(mp->ssrc, &media->ssrc_hash_out); if (ssrc_ctx) ssrc_ctx->next_rtcp = rtpe_now; + /* get_ssrc() returns an owned reference. + * hence release previous ssrc, to no leak on media changes */ + ssrc_entry_release(mp->ssrc_out); mp->ssrc_out = ssrc_ctx; } }