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

Ganesh Ajjanagadde gajjanag at gmail.com
Thu Mar 24 16:17:37 CET 2016


On Tue, Mar 22, 2016 at 12:02 PM, Rostislav Pehlivanov
<atomnuker at gmail.com> wrote:
> 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

pushed, thanks

> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


More information about the ffmpeg-devel mailing list