diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index e7e37a3656..3dbfc92c48 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -2221,6 +2221,8 @@ static int handle_metadata(RTMPContext *rt, RTMPPacket *pkt) pts = cts; ts += cts - pts; pts = cts; + if (size + 3 + 4 > pkt->data + pkt->size - next) + break; bytestream_put_byte(&p, type); bytestream_put_be24(&p, size); bytestream_put_be24(&p, ts);