[FFmpeg-cvslog] aiff: check block_align in aiff_read_packet

Andreas Cadhalpun git at videolan.org
Fri Oct 21 20:42:43 EEST 2016


ffmpeg | branch: master | Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com> | Thu Oct 20 20:08:15 2016 +0200| [93c39db5f1544d1220488cfeb93bfe812a52f374] | committer: Andreas Cadhalpun

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 at niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=93c39db5f1544d1220488cfeb93bfe812a52f374
---

 libavformat/aiffdec.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index de82787..59e969d 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:



More information about the ffmpeg-cvslog mailing list