[FFmpeg-cvslog] avformat/tls_openssl: properly limit written size to data mtu

Timo Rothenpieler git at videolan.org
Wed Jul 16 20:07:16 EEST 2025


ffmpeg | branch: master | Timo Rothenpieler <timo at rothenpieler.org> | Sun Jul 13 16:08:33 2025 +0200| [f3355a1fff6fb04f636b9faf15d523c42d4e0041] | committer: Timo Rothenpieler

avformat/tls_openssl: properly limit written size to data mtu

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f3355a1fff6fb04f636b9faf15d523c42d4e0041
---

 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;



More information about the ffmpeg-cvslog mailing list