flacdec: Check curr_bps after wasted bits are subtracted.

Originally committed as revision 17813 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Justin Ruggles 16 years ago
parent d3f766124a
commit a3d2379bdd
  1. 8
      libavcodec/flacdec.c

@ -432,10 +432,6 @@ static inline int decode_subframe(FLACContext *s, int channel)
if (s->decorrelation == LEFT_SIDE || s->decorrelation == MID_SIDE)
s->curr_bps++;
}
if (s->curr_bps > 32) {
ff_log_missing_feature(s->avctx, "decorrelated bit depth > 32", 0);
return -1;
}
if (get_bits1(&s->gb)) {
av_log(s->avctx, AV_LOG_ERROR, "invalid subframe padding\n");
@ -449,6 +445,10 @@ static inline int decode_subframe(FLACContext *s, int channel)
wasted++;
s->curr_bps -= wasted;
}
if (s->curr_bps > 32) {
ff_log_missing_feature(s->avctx, "decorrelated bit depth > 32", 0);
return -1;
}
//FIXME use av_log2 for types
if (type == 0) {

Loading…
Cancel
Save