Browse Source

4xm: prevent overflow during block alignment calculation

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
tags/n3.3
Andreas Cadhalpun 9 years ago
parent
commit
e3f13d3a87
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      libavformat/4xm.c

+ 4
- 1
libavformat/4xm.c View File

@@ -29,6 +29,7 @@

#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
#include "libavcodec/internal.h"
#include "avformat.h"
#include "internal.h"

@@ -153,8 +154,10 @@ static int parse_strk(AVFormatContext *s,
fourxm->tracks[track].audio_pts = 0;

if (fourxm->tracks[track].channels <= 0 ||
fourxm->tracks[track].channels > FF_SANE_NB_CHANNELS ||
fourxm->tracks[track].sample_rate <= 0 ||
fourxm->tracks[track].bits <= 0) {
fourxm->tracks[track].bits <= 0 ||
fourxm->tracks[track].bits > INT_MAX / FF_SANE_NB_CHANNELS) {
av_log(s, AV_LOG_ERROR, "audio header invalid\n");
return AVERROR_INVALIDDATA;
}


Loading…
Cancel
Save