aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-02-17 15:51:27 -0800
committerReinhard Tartler <siretart@tauware.de>2012-02-26 10:03:15 +0100
commit5c365dc9792a6a91637498e2ee1fdcb90c9c7640 (patch)
tree96b56075f4bcf856edd3552688dfc680d5d8d8de
parent95a9d44dc3121a93c68087dddd7b9b49d34bf930 (diff)
downloadffmpeg-5c365dc9792a6a91637498e2ee1fdcb90c9c7640.tar.gz
aiff: don't skip block_align==0 check on COMM-after-SSND files.
This prevents SIGFPEs when using block_align for divisions. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org (cherry picked from commit 32a659c758bf2ddd8ad48f18c06fa77444341286) Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r--libavformat/aiffdec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index 0e69d02c8c..88e1e68bfe 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -264,12 +264,12 @@ static int aiff_read_header(AVFormatContext *s,
}
}
+got_sound:
if (!st->codec->block_align) {
- av_log(s, AV_LOG_ERROR, "could not find COMM tag\n");
+ av_log(s, AV_LOG_ERROR, "could not find COMM tag or invalid block_align value\n");
return -1;
}
-got_sound:
/* Now positioned, get the sound data start and end */
avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate);
st->start_time = 0;