Merge remote-tracking branch 'qatar/master'

* qatar/master:
  prores: Reject negative run and level values

See: 93c220e895
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-10-11 16:48:10 +02:00
commit e7fa0417b3

View File

@ -394,12 +394,16 @@ static inline int decode_ac_coeffs(GetBitContext *gb, int16_t *out,
return 0; return 0;
run = decode_vlc_codeword(gb, ff_prores_ac_codebook[run_cb_index]); run = decode_vlc_codeword(gb, ff_prores_ac_codebook[run_cb_index]);
if (run < 0)
return AVERROR_INVALIDDATA;
bits_left = get_bits_left(gb); bits_left = get_bits_left(gb);
if (bits_left <= 0 || (bits_left <= 8 && !show_bits(gb, bits_left))) if (bits_left <= 0 || (bits_left <= 8 && !show_bits(gb, bits_left)))
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
level = decode_vlc_codeword(gb, ff_prores_ac_codebook[lev_cb_index]) + 1; level = decode_vlc_codeword(gb, ff_prores_ac_codebook[lev_cb_index]) + 1;
if (level < 0)
return AVERROR_INVALIDDATA;
pos += run + 1; pos += run + 1;
if (pos >= max_coeffs) if (pos >= max_coeffs)