From 72533e9611c66bdfc93d133f3b8806a409ee81b7 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 (cherry picked from commit e6469c006b9776f1a779498971be89124fa0d850) --- 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 863591e95..a160c8489 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -1648,7 +1648,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) @@ -1881,7 +1881,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)