diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-09-26 00:18:12 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-09-26 00:18:12 +0200 |
commit | c8ca38567669278dde3a50d2d7e4fa2f831ef044 (patch) | |
tree | d87070f53eeaa55bd2b6989b1e0c8bff41f41cec /libavformat/utils.c | |
parent | c6a4397410ab5f1b22cbc9f1ccb3126b3e5d6125 (diff) | |
parent | b0ca5fef09d1b1268ea0c8f89bf53cd38aaa85e7 (diff) | |
download | ffmpeg-c8ca38567669278dde3a50d2d7e4fa2f831ef044.tar.gz |
Merge commit 'b0ca5fef09d1b1268ea0c8f89bf53cd38aaa85e7' into release/0.10
* commit 'b0ca5fef09d1b1268ea0c8f89bf53cd38aaa85e7':
dv: Add a guard to not overread the ppcm array
mpegvideo: Avoid 32-bit wrapping of linesize multiplications
mjpegb: Detect changing number of planes in interlaced video
matroskadec: Check that .lang was allocated and set before reading it
ape demuxer: check for EOF in potentially long loops
lavf: avoid integer overflow when estimating bitrate
pictordec: break out of both decoding loops when y drops below 0
ac3: Return proper error codes
Conflicts:
libavcodec/pictordec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r-- | libavformat/utils.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index aee3179dee..3141b9d5e8 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2057,8 +2057,13 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic) bit_rate = 0; for(i=0;i<ic->nb_streams;i++) { st = ic->streams[i]; - if (st->codec->bit_rate > 0) - bit_rate += st->codec->bit_rate; + if (st->codec->bit_rate > 0) { + if (INT_MAX - st->codec->bit_rate > bit_rate) { + bit_rate = 0; + break; + } + bit_rate += st->codec->bit_rate; + } } ic->bit_rate = bit_rate; } |