On 10/23/2012 05:43 PM, Justin Ruggles wrote:
> Ensures the decoder did not set channel count to an insanely high value
> during initialization, which could cause large memory usage when it tries to
> get a buffer during decoding.
> ---
>  libavcodec/utils.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index be6d7ae..8a37ef2 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -881,6 +881,11 @@ int attribute_align_arg avcodec_open2(AVCodecContext 
> *avctx, const AVCodec *code
>                  avctx->channel_layout = 0;
>              }
>          }
> +        if (avctx->channels && avctx->channels < 0 ||
> +            avctx->channels > FF_SANE_NB_CHANNELS) {
> +            ret = AVERROR(EINVAL);
> +            goto free_and_end;
> +        }
>      }
>  end:
>      entangled_thread_counter--;

ping

-Justin

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to