[FFmpeg-devel] [PATCH 06/14] avformat/tls_openssl: properly limit written size to data mtu

Timo Rothenpieler timo at rothenpieler.org
Sun Jul 13 22:24:40 EEST 2025


---
 libavformat/tls_openssl.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 900ee0f5ab..8326762592 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat/tls_openssl.c
@@ -987,9 +987,14 @@ static int tls_write(URLContext *h, const uint8_t *buf, int size)
     URLContext *uc = c->tls_shared.is_dtls ? c->tls_shared.udp
                                            : c->tls_shared.tcp;
     int ret;
+
     // Set or clear the AVIO_FLAG_NONBLOCK on c->tls_shared.tcp
     uc->flags &= ~AVIO_FLAG_NONBLOCK;
     uc->flags |= h->flags & AVIO_FLAG_NONBLOCK;
+
+    if (c->tls_shared.is_dtls)
+        size = FFMIN(size, DTLS_get_data_mtu(c->ssl));
+
     ret = SSL_write(c->ssl, buf, size);
     if (ret > 0)
         return ret;
-- 
2.49.0



More information about the ffmpeg-devel mailing list