aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiasheng Jiang <jiashengjiangcool@gmail.com>2025-08-06 15:07:21 +0000
committerMichael Niedermayer <michael@niedermayer.cc>2025-08-07 03:07:44 +0200
commit39592f2bab61e2ce738ed6a4cfd77953be2a95cc (patch)
tree111721e242d2120135142268621fb1b93469a507
parent8b4e6ccb13f10752bc5c2a963478c7f3764a0cfe (diff)
downloadffmpeg-39592f2bab61e2ce738ed6a4cfd77953be2a95cc.tar.gz
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 <jiashengjiangcool@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--doc/examples/filter_audio.c9
1 files changed, 8 insertions, 1 deletions
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;
}