summaryrefslogtreecommitdiff
path: root/libavformat/aiffdec.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-02-17 15:51:27 -0800
committerRonald S. Bultje <rsbultje@gmail.com>2012-02-17 15:59:03 -0800
commit32a659c758bf2ddd8ad48f18c06fa77444341286 (patch)
tree70ab3a6fd514ed4b17d523d7187a4be11836cf2d /libavformat/aiffdec.c
parentce7aee9b733134649a6ce2fa743e51733f33e67e (diff)
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
Diffstat (limited to 'libavformat/aiffdec.c')
-rw-r--r--libavformat/aiffdec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index c6b51877b5..b3cbc112ca 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -263,12 +263,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;