From 4f60117db979e36ff761663318745d80a9bafee2 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 13 Aug 2019 10:07:38 +0900 Subject: [PATCH] nvdec: Fix possible null object unref gst_query_get_n_allocation_pools > 0 does not guarantee that the N th internal array has GstBufferPool object. So users should check the returned GstBufferPool object from gst_query_parse_nth_allocation_pool. --- sys/nvcodec/gstnvdec.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/nvcodec/gstnvdec.c b/sys/nvcodec/gstnvdec.c index c098ca7470..240e15bf36 100644 --- a/sys/nvcodec/gstnvdec.c +++ b/sys/nvcodec/gstnvdec.c @@ -1121,12 +1121,12 @@ gst_nvdec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query) gst_query_parse_allocation (query, &outcaps, NULL); n = gst_query_get_n_allocation_pools (query); - if (n > 0) { + if (n > 0) gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max); - if (!GST_IS_GL_BUFFER_POOL (pool)) { - gst_object_unref (pool); - pool = NULL; - } + + if (pool && !GST_IS_GL_BUFFER_POOL (pool)) { + gst_object_unref (pool); + pool = NULL; } if (!pool) {