avcodec/ac3enc_template: fix out of array read
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 27 Sep 2014 18:34:44 +0000 (20:34 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 3 Oct 2014 01:40:59 +0000 (03:40 +0200)
Found-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d85ebea3f3b68ebccfe308fa839fc30fa634e4de)

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

index 192d16f..0d6bc45 100644 (file)
@@ -263,7 +263,7 @@ static void apply_channel_coupling(AC3EncodeContext *s)
                 energy_cpl = energy[blk][CPL_CH][bnd];
                 energy_ch = energy[blk][ch][bnd];
                 blk1 = blk+1;
-                while (!s->blocks[blk1].new_cpl_coords[ch] && blk1 < s->num_blocks) {
+                while (blk1 < s->num_blocks && !s->blocks[blk1].new_cpl_coords[ch]) {
                     if (s->blocks[blk1].cpl_in_use) {
                         energy_cpl += energy[blk1][CPL_CH][bnd];
                         energy_ch += energy[blk1][ch][bnd];