Browse Source

Merge remote-tracking branch 'qatar/master'

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

See: 93c220e895
Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.1
Michael Niedermayer 11 years ago
parent
commit
e7fa0417b3
1 changed files with 4 additions and 0 deletions
  1. +4
    -0
      libavcodec/proresdec_lgpl.c

+ 4
- 0
libavcodec/proresdec_lgpl.c 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)


Loading…
Cancel
Save