X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fbfi.c;h=2dab986f3af75ecf4bc0ca4aab6cb492e616723c;hb=1eb311011548867b118dd461442365195fb5fb7d;hp=0dad658f959a29cb21315d9aaf51f057217ca49f;hpb=2ac399d7faa5ac80088715780769522d1141b549;p=ffmpeg diff --git a/libavformat/bfi.c b/libavformat/bfi.c index 0dad658f959..2dab986f3af 100644 --- a/libavformat/bfi.c +++ b/libavformat/bfi.c @@ -39,7 +39,7 @@ typedef struct BFIContext { int avflag; } BFIContext; -static int bfi_probe(AVProbeData * p) +static int bfi_probe(const AVProbeData * p) { /* Check file header */ if (AV_RL32(p->buf) == MKTAG('B', 'F', '&', 'I')) @@ -69,6 +69,9 @@ static int bfi_read_header(AVFormatContext * s) /* Set the total number of frames. */ avio_skip(pb, 8); chunk_header = avio_rl32(pb); + if (chunk_header < 3) + return AVERROR_INVALIDDATA; + bfi->nframes = avio_rl32(pb); avio_rl32(pb); avio_rl32(pb);