--- /dev/null
+diff -ru a/libavfilter/af_aformat.c b/libavfilter/af_aformat.c
+--- a/libavfilter/af_aformat.c 2018-07-17 03:27:41.000000000 -0600
++++ b/libavfilter/af_aformat.c 2019-08-08 18:20:22.150540943 -0600
+@@ -109,6 +109,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;
+@@ -146,6 +156,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,