diff options
author | Jiasheng Jiang <jiashengjiangcool@gmail.com> | 2025-08-06 15:07:21 +0000 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2025-08-07 03:07:44 +0200 |
commit | 39592f2bab61e2ce738ed6a4cfd77953be2a95cc (patch) | |
tree | 111721e242d2120135142268621fb1b93469a507 | |
parent | 8b4e6ccb13f10752bc5c2a963478c7f3764a0cfe (diff) | |
download | ffmpeg-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.c | 9 |
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; } |