diff --git a/libavformat/dsicin.c b/libavformat/dsicin.c index ecc8c0b6af..6a7c8b948a 100644 --- a/libavformat/dsicin.c +++ b/libavformat/dsicin.c @@ -154,6 +154,8 @@ static int cin_read_frame_header(CinDemuxContext *cin, AVIOContext *pb) { if (avio_rl32(pb) != 0xAA55AA55) return AVERROR_INVALIDDATA; + if (hdr->video_frame_size < 0 || hdr->audio_frame_size < 0) + return AVERROR_INVALIDDATA; return 0; }