From f680a8cba12da81f7bcb97121b888e4f74b27ea4 Mon Sep 17 00:00:00 2001 From: Haihao Xiang Date: Tue, 31 Mar 2020 12:22:31 +0800 Subject: [PATCH] libs: encoder: make sure format array is not NULL when returning TRUE This fixed segfault when running the pipeline below with iHD driver (commit efe5e9a) on ICL gst-launch-1.0 videotestsrc ! vaapivp9enc tune=low-power ! vaapivp9dec ! \ fakesink --- gst-libs/gst/vaapi/gstvaapiencoder.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/vaapi/gstvaapiencoder.c b/gst-libs/gst/vaapi/gstvaapiencoder.c index bc2584b900..2f97bd9b16 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder.c @@ -1481,9 +1481,13 @@ get_profile_surface_attributes (GstVaapiEncoder * encoder, return FALSE; ret = gst_vaapi_context_get_surface_attributes (ctxt, attribs); - if (ret) + if (ret) { attribs->formats = gst_vaapi_context_get_surface_formats (ctxt); + if (!attribs->formats) + ret = FALSE; + } + gst_vaapi_context_unref (ctxt); return ret; }