diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-05-29 19:50:15 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-06-09 21:06:57 +0200 |
commit | b3e5c8de6a46dd5acb510147df22818d8a971607 (patch) | |
tree | 91ec30fc07d3ef1c7f7de18549e4b5e9523aa51b | |
parent | ee6c1670df0bc230e99c3b68f66807af4ebf5e69 (diff) | |
download | ffmpeg-b3e5c8de6a46dd5acb510147df22818d8a971607.tar.gz |
ape: Fix null ptr dereference with files missing a seekatable.
Such files are currently not supported as the table is used at several points
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e7cb161515fc9fb6d30d1681d64d9ba7ad737a4e)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/ape.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/ape.c b/libavformat/ape.c index b0f2394ad8..7e18a403c3 100644 --- a/libavformat/ape.c +++ b/libavformat/ape.c @@ -274,6 +274,9 @@ static int ape_read_header(AVFormatContext * s, AVFormatParameters * ap) return AVERROR(ENOMEM); for (i = 0; i < ape->seektablelength / sizeof(uint32_t); i++) ape->seektable[i] = avio_rl32(pb); + }else{ + av_log(s, AV_LOG_ERROR, "Missing seektable\n"); + return -1; } ape->frames[0].pos = ape->firstframe; |