diff --git a/libavcodec/dfa.c b/libavcodec/dfa.c index b8500a4995..0cb5fe933e 100644 --- a/libavcodec/dfa.c +++ b/libavcodec/dfa.c @@ -353,6 +353,8 @@ static int dfa_decode_frame(AVCodecContext *avctx, bytestream2_init(&gb, avpkt->data, avpkt->size); while (bytestream2_get_bytes_left(&gb) > 0) { + if (bytestream2_get_bytes_left(&gb) < 12) + return AVERROR_INVALIDDATA; bytestream2_skip(&gb, 4); chunk_size = bytestream2_get_le32(&gb); chunk_type = bytestream2_get_le32(&gb);