From fe99a51c40d5daaab08851508b900848e0f64d83 Mon Sep 17 00:00:00 2001 From: Marton Balint Date: Sat, 2 Feb 2019 19:33:34 +0100 Subject: ffplay: add missing avfilter_graph_alloc result check Also do not allocate a graph at start, we will reallocate it anyway. Signed-off-by: Marton Balint --- fftools/ffplay.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'fftools') diff --git a/fftools/ffplay.c b/fftools/ffplay.c index 97009f322d..f84052a89b 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -2125,26 +2125,17 @@ static int video_thread(void *arg) AVRational frame_rate = av_guess_frame_rate(is->ic, is->video_st, NULL); #if CONFIG_AVFILTER - AVFilterGraph *graph = avfilter_graph_alloc(); + AVFilterGraph *graph = NULL; AVFilterContext *filt_out = NULL, *filt_in = NULL; int last_w = 0; int last_h = 0; enum AVPixelFormat last_format = -2; int last_serial = -1; int last_vfilter_idx = 0; - if (!graph) { - av_frame_free(&frame); - return AVERROR(ENOMEM); - } - #endif - if (!frame) { -#if CONFIG_AVFILTER - avfilter_graph_free(&graph); -#endif + if (!frame) return AVERROR(ENOMEM); - } for (;;) { ret = get_video_frame(is, frame); @@ -2167,6 +2158,10 @@ static int video_thread(void *arg) (const char *)av_x_if_null(av_get_pix_fmt_name(frame->format), "none"), is->viddec.pkt_serial); avfilter_graph_free(&graph); graph = avfilter_graph_alloc(); + if (!graph) { + ret = AVERROR(ENOMEM); + goto the_end; + } if ((ret = configure_video_filters(graph, is, vfilters_list ? vfilters_list[is->vfilter_idx] : NULL, frame)) < 0) { SDL_Event event; event.type = FF_QUIT_EVENT; -- cgit v1.2.3