summaryrefslogtreecommitdiff
path: root/libavformat/electronicarts.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/electronicarts.c')
-rw-r--r--libavformat/electronicarts.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c
index 75f92afc0f..41ed0891b9 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);