--- /dev/null
+diff -ruN a/libavfilter/af_aformat.c b/libavfilter/af_aformat.c
+--- a/libavfilter/af_aformat.c 2020-06-15 12:54:24.000000000 -0600
++++ b/libavfilter/af_aformat.c 2020-07-10 09:24:01.659724729 -0600
+@@ -112,6 +112,16 @@
+ return 0;
+ }
+
++#define DEL_FIELD(p,mem,fld) if( p->mem ) { av_freep(&p->mem->fld); av_freep(&p->mem); }
++
++static av_cold void uninit(AVFilterContext *ctx)
++{
++ AFormatContext *s = ctx->priv;
++ DEL_FIELD(s, formats, formats);
++ DEL_FIELD(s, sample_rates, formats);
++ DEL_FIELD(s, channel_layouts, channel_layouts);
++}
++
+ static int query_formats(AVFilterContext *ctx)
+ {
+ AFormatContext *s = ctx->priv;
+@@ -149,6 +159,7 @@
+ .name = "aformat",
+ .description = NULL_IF_CONFIG_SMALL("Convert the input audio to one of the specified formats."),
+ .init = init,
++ .uninit = uninit,
+ .query_formats = query_formats,
+ .priv_size = sizeof(AFormatContext),
+ .priv_class = &aformat_class,