From d108ed2251f1f402755d862e83ab0944c552f5c6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Fri, 28 Apr 2017 19:43:49 +0200 Subject: [PATCH] gst: check non-null before dereference It is possible to use gst_deinit() without registering the base classes. For example, when using gst_init_get_option_group() and call the program with an invalid parameter. In that case, gst_deinit() will lead to a segmentation fault, since there is a dereference to a pointer that is null. This patch validates if the type is non-null before dereferencing it. https://bugzilla.gnome.org/show_bug.cgi?id=781914 --- gst/gst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst/gst.c b/gst/gst.c index 8087aa4..e0225b4 100644 --- a/gst/gst.c +++ b/gst/gst.c @@ -1003,7 +1003,7 @@ gst_deinit (void) } g_thread_pool_set_max_unused_threads (0); bin_class = GST_BIN_CLASS (g_type_class_peek (gst_bin_get_type ())); - if (bin_class->pool != NULL) { + if (bin_class && bin_class->pool != NULL) { g_thread_pool_free (bin_class->pool, FALSE, TRUE); bin_class->pool = NULL; } -- 2.7.4