aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-05-06 16:56:19 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-01-11 22:37:58 +0100
commit44f830e7f0182c20b36ac44ccaa10bb23c8caaff (patch)
tree4ec59c15cf1f8cdee99082a906a0c5e7a9775ec1 /libavcodec
parentc256491f9669893917f4db5c0cf56b17530f10b6 (diff)
downloadffmpeg-44f830e7f0182c20b36ac44ccaa10bb23c8caaff.tar.gz
avcodec/wma(dec|enc): Fix memleaks upon allocation error
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@outlook.com> (cherry picked from commit fcdb012a100b245890949b2d53cb7f042380787d)
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/wmadec.c2
-rw-r--r--libavcodec/wmaenc.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c
index 8710414936..f5408a1789 100644
--- a/libavcodec/wmadec.c
+++ b/libavcodec/wmadec.c
@@ -980,6 +980,7 @@ 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
@@ -996,5 +997,6 @@ 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 6a7e23d016..a28a0c387b 100644
--- a/libavcodec/wmaenc.c
+++ b/libavcodec/wmaenc.c
@@ -436,6 +436,7 @@ 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 @@ 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