Mercurial > libavcodec.hg
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 } |