Merge commit '8c34558131d846d2b10389564caadaa206372fd4'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 19 May 2013 08:22:05 +0000 (10:22 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 19 May 2013 08:22:05 +0000 (10:22 +0200)
* commit '8c34558131d846d2b10389564caadaa206372fd4':
  wavpack: return meaningful errors

Conflicts:
libavcodec/wavpack.c

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

@@@ -790,14 -784,9 +790,14 @@@ static int wavpack_decode_block(AVCodec
      if (!s) {
          av_log(avctx, AV_LOG_ERROR, "Context for block %d is not present\n",
                 block_no);
-         return -1;
+         return AVERROR_INVALIDDATA;
      }
  
 +    if (wc->ch_offset >= avctx->channels) {
 +        av_log(avctx, AV_LOG_ERROR, "too many channels\n");
 +        return -1;
 +    }
 +
      memset(s->decorr, 0, MAX_TERMS * sizeof(Decorr));
      memset(s->ch, 0, sizeof(s->ch));
      s->extra_bits     = 0;
@@@ -1232,10 -1217,10 +1232,10 @@@ static int wavpack_decode_frame(AVCodec
              frame_flags = AV_RL32(buf + 4);
          }
      }
 -    if (s->samples <= 0) {
 +    if (s->samples <= 0 || s->samples > WV_MAX_SAMPLES) {
          av_log(avctx, AV_LOG_ERROR, "Invalid number of samples: %d\n",
                 s->samples);
-         return AVERROR(EINVAL);
+         return AVERROR_INVALIDDATA;
      }
  
      if (frame_flags & 0x80) {