From e6469c006b9776f1a779498971be89124fa0d850 Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Sat, 27 Jun 2026 13:23:34 +0200 Subject: [PATCH] MT#55283 Defuse kernelize error for SRTP encryption not yet negotiated Similar in spirit to f2d57de0781728ada902dba63216c4fb5b34b8a3, but for the encrypt case. Closes #2127 Change-Id: I06c82f4a1d768a863922e2240aebb6c1d243e269 --- daemon/media_socket.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/daemon/media_socket.c b/daemon/media_socket.c index 244d33c10..595061e88 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -1640,7 +1640,7 @@ static const char *kernelize_target(kernelize_state *s, struct packet_stream *st int ret = handler->in->kernel(&reti->decrypt, stream); if (ret) { - ilog(LOG_NOTICE, "SRTP not yet negotiated"); + ilog(LOG_NOTICE, "Decryption SRTP not yet negotiated"); return NULL; } if (!reti->decrypt.cipher || !reti->decrypt.hmac) @@ -1873,7 +1873,14 @@ static const char *kernelize_one(kernelize_state *s, } } - handler->out->kernel(&redi->output.encrypt, sink); + int ret = handler->out->kernel(&redi->output.encrypt, sink); + if (ret) { + if (sink != stream) + mutex_unlock(&sink->lock); + g_free(credi); + ilog(LOG_NOTICE, "Encryption SRTP not yet negotiated"); + return NULL; + } sink_handler->rtpext->kernel(&redi->output, media, sink_media); if (sink != stream)