ac3: validate end in ff_ac3_bit_alloc_calc_mask
authorAndreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Thu, 16 Apr 2015 19:25:26 +0000 (21:25 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 17 Apr 2015 13:20:30 +0000 (15:20 +0200)
commitb420354a8b6611d7a5af1f7acd04a5055ded0bb7
tree820fdf347c46f4f65dea5a16ab7ea0be6e16b047
parent1d0f9c92c5505ada35a20d6812fb41a47aa0d14a
ac3: validate end in ff_ac3_bit_alloc_calc_mask

This fixes an invalid read if end is 0:
     band_end   = ff_ac3_bin_to_band_tab[end-1] + 1;

Depending on what is before the array, this can cause stack smashing,
when band_end becomes too large.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bc4fee7f2a51635fa3c0f61d1e5164da1efeded3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/ac3.c