Browse Source

avcodec/flacdec: Check for invalid vlcs

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.3
Michael Niedermayer 9 years ago
parent
commit
fd00203554
1 changed files with 7 additions and 1 deletions
  1. +7
    -1
      libavcodec/flacdec.c

+ 7
- 1
libavcodec/flacdec.c View File

@@ -259,7 +259,13 @@ static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
*decoded++ = get_sbits_long(&s->gb, tmp);
} else {
for (; i < samples; i++) {
*decoded++ = get_sr_golomb_flac(&s->gb, tmp, INT_MAX, 0);
int v = get_sr_golomb_flac(&s->gb, tmp, INT_MAX, 0);
if (v == 0x80000000){
av_log(s->avctx, AV_LOG_ERROR, "invalid residual\n");
return AVERROR_INVALIDDATA;
}

*decoded++ = v;
}
}
i= 0;


Loading…
Cancel
Save