[FFmpeg-devel] [PATCHv2] lavc/psymodel: check for av_malloc failure

Rostislav Pehlivanov atomnuker at gmail.com
Tue Mar 22 20:02:22 CET 2016


On 22 March 2016 at 18:36, Ganesh Ajjanagadde <gajjanag at gmail.com> wrote:

> No idea why in commit 01ecb7172b684f1c4b3e748f95c5a9a494ca36ec the
> checks were removed; this can lead to NULL pointer dereferences. This
> effectively reverts that portion of the commit.
>
> Reviewed-by: Benoit Fouet <benoit.fouet at free.fr>
> Signed-off-by: Ganesh Ajjanagadde <gajjanag at gmail.com>
> ---
>  libavcodec/psymodel.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/psymodel.c b/libavcodec/psymodel.c
> index 6274a49..2b5f111 100644
> --- a/libavcodec/psymodel.c
> +++ b/libavcodec/psymodel.c
> @@ -120,7 +120,12 @@ av_cold struct FFPsyPreprocessContext*
> ff_psy_preprocess_init(AVCodecContext *av
>                                                   FF_FILTER_MODE_LOWPASS,
> FILT_ORDER,
>                                                   cutoff_coeff, 0.0, 0.0);
>          if (ctx->fcoeffs) {
> -            ctx->fstate = av_mallocz(sizeof(ctx->fstate[0]) *
> avctx->channels);
> +            ctx->fstate = av_mallocz_array(sizeof(ctx->fstate[0]),
> avctx->channels);
> +            if (!ctx->fstate) {
> +                av_free(ctx->fcoeffs);
> +                av_free(ctx);
> +                return NULL;
> +            }
>              for (i = 0; i < avctx->channels; i++)
>                  ctx->fstate[i] = ff_iir_filter_init_state(FILT_ORDER);
>          }


LGTM


More information about the ffmpeg-devel mailing list