Add proper deallocations in the error paths to avoid potential memory leaks.

Fixes: e7dfaf16a4 ("libavfilter: example audio filtering program")
Signed-off-by: Jiasheng Jiang <jiashengjiangc...@gmail.com>
---
 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;
 }
-- 
2.25.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to