On Mon, May 27, 2013 at 07:20:40PM +0200, Anton Khirnov wrote:
> ---
>  libavcodec/wavpack.c |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
> index b375622..073059b 100644
> --- a/libavcodec/wavpack.c
> +++ b/libavcodec/wavpack.c
> @@ -1120,6 +1120,11 @@ static int wavpack_decode_block(AVCodecContext *avctx, 
> int block_no,
>          }
>      }
>  
> +    if (wc->ch_offset + s->stereo >= avctx->channels) {
> +        av_log(avctx, AV_LOG_WARNING, "Too many blocks in a packet.\n");
> +        return (avctx->err_recognition & AV_EF_EXPLODE) ? 
> AVERROR_INVALIDDATA : 0;
> +    }
> +
>      samples_l = frame->extended_data[wc->ch_offset];
>      if (s->stereo)
>          samples_r = frame->extended_data[wc->ch_offset + 1];
> -- 

In general OK but I'd call it somewhat differently - like too many channels
coded in a packet.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to