[FFmpeg-cvslog] electronicarts: Fix division by zero. Fixes Ticket #793

Oana Stratulat git at videolan.org
Wed Jan 4 02:49:43 CET 2012


ffmpeg | branch: master | Oana Stratulat <oanaandreeastratulat at gmail.com> | Wed Jan  4 03:13:27 2012 +0200| [0d3a51e5d279dd2a56c81ba7a81a70128c5a7545] | committer: Michael Niedermayer

electronicarts: Fix division by zero. Fixes Ticket #793

Signed-off-by: Oana Stratulat <oanaandreeastratulat at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/electronicarts.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c
index 75f92af..41ed089 100644
--- a/libavformat/electronicarts.c
+++ b/libavformat/electronicarts.c
@@ -221,6 +221,10 @@ static int process_audio_header_eacs(AVFormatContext *s)
 
     ea->sample_rate  = ea->big_endian ? avio_rb32(pb) : avio_rl32(pb);
     ea->bytes        = avio_r8(pb);   /* 1=8-bit, 2=16-bit */
+    if(ea->bytes == 0){
+        av_log(s,AV_LOG_ERROR,"the file is corrupted, ea->bytes = 0\n");
+        return AVERROR_INVALIDDATA;
+    }
     ea->num_channels = avio_r8(pb);
     compression_type = avio_r8(pb);
     avio_skip(pb, 13);



More information about the ffmpeg-cvslog mailing list