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.
This commit is contained in:
Seungha Yang 2019-08-13 10:07:38 +09:00
parent eab564d857
commit 4f60117db9

View file

@ -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) {