avformat/mlvdec: fail reading a packet with 0 streams
Fixes: NULL pointer dereference
Fixes: 22604/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5667739074297856.fuzz
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5bd5c31087
)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -393,10 +393,14 @@ static int read_packet(AVFormatContext *avctx, AVPacket *pkt)
|
|||||||
{
|
{
|
||||||
MlvContext *mlv = avctx->priv_data;
|
MlvContext *mlv = avctx->priv_data;
|
||||||
AVIOContext *pb;
|
AVIOContext *pb;
|
||||||
AVStream *st = avctx->streams[mlv->stream_index];
|
AVStream *st;
|
||||||
int index, ret;
|
int index, ret;
|
||||||
unsigned int size, space;
|
unsigned int size, space;
|
||||||
|
|
||||||
|
if (!avctx->nb_streams)
|
||||||
|
return AVERROR_EOF;
|
||||||
|
|
||||||
|
st = avctx->streams[mlv->stream_index];
|
||||||
if (mlv->pts >= st->duration)
|
if (mlv->pts >= st->duration)
|
||||||
return AVERROR_EOF;
|
return AVERROR_EOF;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user