[FFmpeg-devel] [PATCH 3/3] avformat/sierravmd: Remove outdated check

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Wed Mar 24 02:53:54 EET 2021


The check has been added at a time when the code performed the
multiplication itself instead of deferring it to av_malloc_array()
and when our allocation functions used unsigned instead of size_t.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
 libavformat/sierravmd.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/libavformat/sierravmd.c b/libavformat/sierravmd.c
index 40bcb77986..11a883614f 100644
--- a/libavformat/sierravmd.c
+++ b/libavformat/sierravmd.c
@@ -186,10 +186,6 @@ static int vmd_read_header(AVFormatContext *s)
     vmd->frame_table = NULL;
     sound_buffers = AV_RL16(&vmd->vmd_header[808]);
     raw_frame_table_size = vmd->frame_count * 6;
-    if(vmd->frame_count * vmd->frames_per_block >= UINT_MAX / sizeof(vmd_frame) - sound_buffers){
-        av_log(s, AV_LOG_ERROR, "vmd->frame_count * vmd->frames_per_block too large\n");
-        return -1;
-    }
     raw_frame_table = av_malloc(raw_frame_table_size);
     vmd->frame_table = av_malloc_array(vmd->frame_count * vmd->frames_per_block + sound_buffers, sizeof(vmd_frame));
     if (!raw_frame_table || !vmd->frame_table) {
-- 
2.27.0



More information about the ffmpeg-devel mailing list