avformat/electronicarts: check chunk size.

Fix infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-11-11 19:51:12 +01:00
parent bdab2421a5
commit 20769d9349
1 changed files with 5 additions and 0 deletions

View File

@ -361,6 +361,11 @@ static int process_ea_header(AVFormatContext *s)
if (ea->big_endian)
size = av_bswap32(size);
if (size < 8) {
av_log(s, AV_LOG_ERROR, "chunk size too small\n");
return AVERROR_INVALIDDATA;
}
switch (blockid) {
case ISNh_TAG:
if (avio_rl32(pb) != EACS_TAG) {