[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