From 39592f2bab61e2ce738ed6a4cfd77953be2a95cc Mon Sep 17 00:00:00 2001 From: Jiasheng Jiang Date: Wed, 6 Aug 2025 15:07:21 +0000 Subject: [PATCH] examples: Add proper deallocations to avoid potential memory leaks Add proper deallocations in the error paths to avoid potential memory leaks. Fixes: e7dfaf16a4 ("libavfilter: example audio filtering program") Signed-off-by: Jiasheng Jiang Signed-off-by: Michael Niedermayer --- doc/examples/filter_audio.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/examples/filter_audio.c b/doc/examples/filter_audio.c index 02222f5914..ad77bf1f89 100644 --- a/doc/examples/filter_audio.c +++ b/doc/examples/filter_audio.c @@ -294,6 +294,7 @@ int main(int argc, char *argv[]) md5 = av_md5_alloc(); if (!md5) { + av_frame_free(&frame); fprintf(stderr, "Error allocating the MD5 context\n"); return 1; } @@ -301,8 +302,10 @@ int main(int argc, char *argv[]) /* Set up the filtergraph. */ err = init_filter_graph(&graph, &src, &sink); if (err < 0) { + av_frame_free(&frame); + av_freep(&md5); fprintf(stderr, "Unable to init filter graph:"); - goto fail; + return 1; } /* the main filtering loop */ @@ -353,6 +356,10 @@ int main(int argc, char *argv[]) return 0; fail: + avfilter_graph_free(&graph); + av_frame_free(&frame); + av_freep(&md5); + fprintf(stderr, "%s\n", av_err2str(err)); return 1; }