On 12/05/15 17:55, Luca Barbato wrote:
> From: Vittorio Giovara <[email protected]>
> 
> ---
>  libavcodec/ratecontrol.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c
> index aae7570..6fe174a 100644
> --- a/libavcodec/ratecontrol.c
> +++ b/libavcodec/ratecontrol.c
> @@ -163,6 +163,8 @@ av_cold int ff_rate_control_init(MpegEncContext *s)
>              return -1;
>          rcc->entry       = av_mallocz(i * sizeof(RateControlEntry));
>          rcc->num_entries = i;
> +        if (!rcc->entry)
> +            return AVERROR(ENOMEM);
>  
>          /* init all to skipped p frames
>           * (with b frames we might have a not encoded frame at the end 
> FIXME) */
> @@ -932,6 +934,11 @@ static int init_pass2(MpegEncContext *s)
>  
>      qscale         = av_malloc(sizeof(double) * rcc->num_entries);
>      blurred_qscale = av_malloc(sizeof(double) * rcc->num_entries);
> +    if (!qscale || !blurred_qscale) {
> +        av_freep(&qscale);
> +        av_freep(&blurred_qscale);
> +        return AVERROR(ENOMEM);
> +    }
>      toobig = 0;
>  
>      for (step = 256 * 256; step > 0.0000001; step *= 0.5) {
> 

Would leak rcc->rc_eq_eval.

lu


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

Reply via email to