diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index f0d141f10b..5c7acb5d00 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -1249,6 +1249,9 @@ static int mxf_read_index_table_segment(void *arg, AVIOContext *pb, int tag, int case 0x3F0B: segment->index_edit_rate.num = avio_rb32(pb); segment->index_edit_rate.den = avio_rb32(pb); + if (segment->index_edit_rate.num <= 0 || + segment->index_edit_rate.den <= 0) + return AVERROR_INVALIDDATA; av_log(NULL, AV_LOG_TRACE, "IndexEditRate %d/%d\n", segment->index_edit_rate.num, segment->index_edit_rate.den); break;