Merge commit 'cfbd98abe82cfcb9984a18d08697251b72b110c8'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 21 May 2013 09:51:49 +0000 (11:51 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 21 May 2013 10:01:37 +0000 (12:01 +0200)
* commit 'cfbd98abe82cfcb9984a18d08697251b72b110c8':
  mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac

Conflicts:
libavcodec/mjpegdec.c

See: 1f41cffe1e3e79620f587545bdfcbd7e6e68ed29

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/mjpegdec.c

@@@ -1133,11 -939,15 +1133,12 @@@ static int mjpeg_decode_scan_progressiv
      int linesize  = s->linesize[c];
      int last_scan = 0;
      int16_t *quant_matrix = s->quant_matrixes[s->quant_index[c]];
 -    GetBitContext mb_bitmask_gb;
  
-     if (se > 63) {
-         av_log(s->avctx, AV_LOG_ERROR, "SE %d is too large\n", se);
 -    if (ss < 0  || ss >= 64 ||
 -        se < ss || se >= 64 ||
 -        Ah < 0  || Al < 0)
++    av_assert0(ss>=0 && Ah>=0 && Al>=0);
++    if (se < ss || se > 63) {
++        av_log(s->avctx, AV_LOG_ERROR, "SS/SE %d/%d is invalid\n", ss, se);
          return AVERROR_INVALIDDATA;
 -
 -    if (mb_bitmask)
 -        init_get_bits(&mb_bitmask_gb, mb_bitmask, s->mb_width * s->mb_height);
 +    }
  
      if (!Al) {
          s->coefs_finished[c] |= (1LL << (se + 1)) - (1LL << ss);