aiff: don't skip block_align==0 check on COMM-after-SSND files.
authorRonald S. Bultje <rsbultje@gmail.com>
Fri, 17 Feb 2012 23:51:27 +0000 (15:51 -0800)
committerRonald S. Bultje <rsbultje@gmail.com>
Fri, 17 Feb 2012 23:59:03 +0000 (15:59 -0800)
This prevents SIGFPEs when using block_align for divisions.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
libavformat/aiffdec.c

index c6b5187..b3cbc11 100644 (file)
@@ -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;