comparison ac3.c @ 6998:d32b97ccfd42 libavcodec

prevent crash when dba params are invalid
author jbr
date Tue, 03 Jun 2008 23:34:26 +0000
parents 48759bfbd073
children 60fd9ae9540e
comparison
equal deleted inserted replaced
6997:d83420509f90 6998:d32b97ccfd42
155 /* delta bit allocation */ 155 /* delta bit allocation */
156 156
157 if (dba_mode == DBA_REUSE || dba_mode == DBA_NEW) { 157 if (dba_mode == DBA_REUSE || dba_mode == DBA_NEW) {
158 int band, seg, delta; 158 int band, seg, delta;
159 band = 0; 159 band = 0;
160 for (seg = 0; seg < dba_nsegs; seg++) { 160 for (seg = 0; seg < FFMIN(8, dba_nsegs); seg++) {
161 band += dba_offsets[seg]; 161 band = FFMIN(49, band + dba_offsets[seg]);
162 if (dba_values[seg] >= 4) { 162 if (dba_values[seg] >= 4) {
163 delta = (dba_values[seg] - 3) << 7; 163 delta = (dba_values[seg] - 3) << 7;
164 } else { 164 } else {
165 delta = (dba_values[seg] - 4) << 7; 165 delta = (dba_values[seg] - 4) << 7;
166 } 166 }