Bug-Id: CID 1291564
---
 avplay.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/avplay.c b/avplay.c
index e98e3ad..02d6461 100644
--- a/avplay.c
+++ b/avplay.c
@@ -1580,8 +1580,10 @@ static int video_thread(void *arg)
     AVFilterContext *filt_out = NULL, *filt_in = NULL;
     int last_w = is->video_st->codec->width;
     int last_h = is->video_st->codec->height;
-    if (!graph)
+    if (!graph) {
+        av_frame_free(&frame)
         return AVERROR(ENOMEM);
+    }
 
     if ((ret = configure_video_filters(graph, is, vfilters)) < 0)
         goto the_end;
@@ -1589,8 +1591,12 @@ static int video_thread(void *arg)
     filt_out = is->out_video_filter;
 #endif
 
-    if (!frame)
+    if (!frame) {
+#if CONFIG_AVFILTER
+        avfilter_graph_free(&graph);
+#endif
         return AVERROR(ENOMEM);
+    }
 
     for (;;) {
 #if CONFIG_AVFILTER
-- 
2.1.0

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to