diff --git a/libavformat/ffmdec.c b/libavformat/ffmdec.c index c5917a1246d330ab82beca988900a77a0db6b046..1bd380b6a88df6965c39dc88a56db0e92dcc8932 100644 --- a/libavformat/ffmdec.c +++ b/libavformat/ffmdec.c @@ -379,8 +379,10 @@ FF_ENABLE_DEPRECATION_WARNINGS goto fail; } codecpar->extradata = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE); - if (!codecpar->extradata) - return AVERROR(ENOMEM); + if (!codecpar->extradata) { + ret = AVERROR(ENOMEM); + goto fail; + } codecpar->extradata_size = size; avio_read(pb, codecpar->extradata, size); } @@ -690,8 +692,10 @@ FF_ENABLE_DEPRECATION_WARNINGS goto fail; } codecpar->extradata = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE); - if (!codecpar->extradata) - return AVERROR(ENOMEM); + if (!codecpar->extradata) { + ret = AVERROR(ENOMEM); + goto fail; + } codecpar->extradata_size = size; avio_read(pb, codecpar->extradata, size); }