From 153da4a11c4b3e9d94bf4fe6f11e3fb0b5f56ae4 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Fri, 3 Sep 2021 13:03:28 -0400 Subject: [PATCH] TT#14008 fix possible segfault closes #1342 Change-Id: I469b749cca4e270100572b7eabc9bcd022e83f5d --- daemon/media_socket.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/daemon/media_socket.c b/daemon/media_socket.c index 3c64bedde..888f7f40d 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -2074,13 +2074,15 @@ static void media_packet_kernel_check(struct packet_handler_ctx *phc) { return; } -// if (!phc->sinks->length) { -// __C_DBG("sink is NULL for stream %s:%d", sockaddr_print_buf(&phc->mp.stream->endpoint.address), -// phc->mp.stream->endpoint.port); -// return; -// } + GQueue *sinks = phc->sinks; + // we might get called before the sinks are set via media_packet_rtcp_demux + if (!sinks) { + sinks = &phc->mp.stream->rtp_sinks; + if (!sinks->length) + sinks = &phc->mp.stream->rtcp_sinks; + } - for (GList *l = phc->sinks->head; l; l = l->next) { + for (GList *l = sinks->head; l; l = l->next) { struct sink_handler *sh = l->data; if (MEDIA_ISSET(sh->sink->media, ASYMMETRIC))