[FFmpeg-cvslog] epafdec: prevent overflow during block alignment calculation

Andreas Cadhalpun git at videolan.org
Mon Jan 30 02:44:09 EET 2017


ffmpeg | branch: master | Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com> | Fri Jan  6 20:31:21 2017 +0100| [74bd17d31648c77d01a0d35b09724715bc40fba2] | committer: Andreas Cadhalpun

epafdec: prevent overflow during block alignment calculation

Reviewed-by: Michael Niedermayer <michael at niedermayer.cc>
Reviewed-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>

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

 libavformat/epafdec.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/epafdec.c b/libavformat/epafdec.c
index 29190ff..0cd9627 100644
--- a/libavformat/epafdec.c
+++ b/libavformat/epafdec.c
@@ -20,6 +20,7 @@
  */
 
 #include "libavutil/intreadwrite.h"
+#include "libavcodec/internal.h"
 #include "avformat.h"
 #include "internal.h"
 #include "pcm.h"
@@ -59,7 +60,7 @@ static int epaf_read_header(AVFormatContext *s)
         channels    = avio_rb32(s->pb);
     }
 
-    if (!channels || !sample_rate)
+    if (channels <= 0 || channels > FF_SANE_NB_CHANNELS || sample_rate <= 0)
         return AVERROR_INVALIDDATA;
 
     st = avformat_new_stream(s, NULL);



More information about the ffmpeg-cvslog mailing list