mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 02:30:35 +00:00
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
This commit is contained in:
parent
46e8be110d
commit
d108ed2251
1 changed files with 1 additions and 1 deletions
|
@ -1003,7 +1003,7 @@ gst_deinit (void)
|
||||||
}
|
}
|
||||||
g_thread_pool_set_max_unused_threads (0);
|
g_thread_pool_set_max_unused_threads (0);
|
||||||
bin_class = GST_BIN_CLASS (g_type_class_peek (gst_bin_get_type ()));
|
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);
|
g_thread_pool_free (bin_class->pool, FALSE, TRUE);
|
||||||
bin_class->pool = NULL;
|
bin_class->pool = NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue