diff --git a/libavcodec/aacpsy.c b/libavcodec/aacpsy.c index ac58968ab3..6cfe3e32ea 100644 --- a/libavcodec/aacpsy.c +++ b/libavcodec/aacpsy.c @@ -298,6 +298,8 @@ static av_cold int psy_3gpp_init(FFPsyContext *ctx) { const float num_bark = calc_bark((float)bandwidth); ctx->model_priv_data = av_mallocz(sizeof(AacPsyContext)); + if (!ctx->model_priv_data) + return AVERROR(ENOMEM); pctx = (AacPsyContext*) ctx->model_priv_data; pctx->chan_bitrate = chan_bitrate; @@ -349,6 +351,10 @@ static av_cold int psy_3gpp_init(FFPsyContext *ctx) { } pctx->ch = av_mallocz(sizeof(AacPsyChannel) * ctx->avctx->channels); + if (!pctx->ch) { + av_freep(&pctx); + return AVERROR(ENOMEM); + } lame_window_init(pctx, ctx->avctx);