summaryrefslogtreecommitdiff
path: root/libavformat/aiffdec.c
diff options
context:
space:
mode:
authorAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2016-10-20 20:08:15 +0200
committerAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2016-10-21 19:40:59 +0200
commit93c39db5f1544d1220488cfeb93bfe812a52f374 (patch)
treeb933eeacea9bcd08da765bda93d91897595eb230 /libavformat/aiffdec.c
parent4d92bd3ca2252b461b352bc2af3ebeabe5394715 (diff)
downloadffmpeg-93c39db5f1544d1220488cfeb93bfe812a52f374.tar.gz
aiff: check block_align in aiff_read_packet
It can be unset in avcodec_parameters_from_context and a value of 0 causes SIGFPE crashes. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Diffstat (limited to 'libavformat/aiffdec.c')
-rw-r--r--libavformat/aiffdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index de827871d8..59e969d12d 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -371,6 +371,11 @@ static int aiff_read_packet(AVFormatContext *s,
if (max_size <= 0)
return AVERROR_EOF;
+ if (!st->codecpar->block_align) {
+ av_log(s, AV_LOG_ERROR, "block_align not set\n");
+ return AVERROR_INVALIDDATA;
+ }
+
/* Now for that packet */
switch (st->codecpar->codec_id) {
case AV_CODEC_ID_ADPCM_IMA_QT: