[FFmpeg-devel] [PATCH 02/20] avcodec/wma(dec|enc): Fix memleaks upon allocation error
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Fri May 7 09:46:29 EEST 2021
ff_wma_init() can fail without freeing everything it has allocated;
so add the FF_CODEC_CAP_INIT_CLEANUP to the codecs using it.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavcodec/wmadec.c | 2 ++
libavcodec/wmaenc.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c
index 9081f35a16..b63ce66b23 100644
--- a/libavcodec/wmadec.c
+++ b/libavcodec/wmadec.c
@@ -977,6 +977,7 @@ const AVCodec ff_wmav1_decoder = {
.capabilities = AV_CODEC_CAP_DR1,
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
};
#endif
#if CONFIG_WMAV2_DECODER
@@ -993,5 +994,6 @@ const AVCodec ff_wmav2_decoder = {
.capabilities = AV_CODEC_CAP_DR1,
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
};
#endif
diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c
index 89273ba978..2a78325298 100644
--- a/libavcodec/wmaenc.c
+++ b/libavcodec/wmaenc.c
@@ -436,6 +436,7 @@ const AVCodec ff_wmav1_encoder = {
.close = ff_wma_end,
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
};
#endif
#if CONFIG_WMAV2_ENCODER
@@ -450,5 +451,6 @@ const AVCodec ff_wmav2_encoder = {
.close = ff_wma_end,
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
};
#endif
--
2.27.0
More information about the ffmpeg-devel
mailing list