avcodec/alsdec: Fix reading 0 mantisse bits

Fixes assertion failure
Fixes: 848c24abc1721c9e3d1ba7bfee8d9fcc/asan_heap-oob_1d99eca_3709_567bba70d67e7d62714dcf56f26fb1da.mp4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2016-09-08 22:02:44 +02:00
parent 2d3099ad8e
commit 037422178d

View File

@ -1527,7 +1527,7 @@ static int read_diff_float_data(ALSDecContext *ctx, unsigned int ra_frame) {
if (!get_bits1(gb)) { //uncompressed
for (i = 0; i < frame_length; ++i) {
if (ctx->raw_samples[c][i] != 0) {
raw_mantissa[c][i] = get_bits(gb, nbits[i]);
raw_mantissa[c][i] = nbits[i] ? get_bits(gb, nbits[i]) : 0;
}
}
} else { //compressed