[FFmpeg-cvslog] avformat/mp3dec: Check header_filesize

Michael Niedermayer git at videolan.org
Wed Jul 24 17:50:49 EEST 2024


ffmpeg | branch: release/4.3 | Michael Niedermayer <michael at niedermayer.cc> | Thu Jul 11 20:20:53 2024 +0200| [1c1f537e068c8afbdbc044d7525a8ffa0c2e0767] | committer: Michael Niedermayer

avformat/mp3dec: Check header_filesize

Fixes: CID1608714 Division or modulo by float zero

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit cea4dbc903eaf8cb7a4ea53b281deff495ff8fa0)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1c1f537e068c8afbdbc044d7525a8ffa0c2e0767
---

 libavformat/mp3dec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c
index c0f75b6e9c..d3a393de97 100644
--- a/libavformat/mp3dec.c
+++ b/libavformat/mp3dec.c
@@ -585,7 +585,7 @@ static int mp3_seek(AVFormatContext *s, int stream_index, int64_t timestamp,
     if (best_pos < 0)
         return best_pos;
 
-    if (mp3->is_cbr && ie == &ie1 && mp3->frames) {
+    if (mp3->is_cbr && ie == &ie1 && mp3->frames && mp3->header_filesize > 0) {
         int frame_duration = av_rescale(st->duration, 1, mp3->frames);
         ie1.timestamp = frame_duration * av_rescale(best_pos - s->internal->data_offset, mp3->frames, mp3->header_filesize);
     }



More information about the ffmpeg-cvslog mailing list