Fixes: signed integer overflow: 5269246886373498912 + 4035225266123964416 cannot be represented in type 'long' Fixes: 418319157/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5452638340841472
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> --- libavformat/mov.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 6e9e3498fb5..401fdf70fb4 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -4245,6 +4245,10 @@ static void mov_fix_index(MOVContext *mov, AVStream *st) st->index, edit_list_index, edit_list_media_time, edit_list_duration); edit_list_index++; edit_list_dts_counter = edit_list_dts_entry_end; + if (av_sat_add64(edit_list_dts_entry_end, edit_list_duration) != edit_list_dts_entry_end + (uint64_t)edit_list_duration) { + av_log(mov->fc, AV_LOG_ERROR, "edit_list_durations sum exceed 64bit\n"); + break; + } edit_list_dts_entry_end += edit_list_duration; num_discarded_begin = 0; if (!found_non_empty_edit && edit_list_media_time == -1) { -- 2.49.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".