[mutter] MetaPluginManager: don't try to deference a NULL pointer when processing events



commit 74565380aa1c342dc2fe3ac4de0fcf72c1698ceb
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Thu Oct 19 20:11:39 2017 -0500

    MetaPluginManager: don't try to deference a NULL pointer when processing events
    
    This function might be called by components with invalid plugin manager
    (as it might happen to MetaWindow when the compositor isn't initialized
    properly), so we need to protect ourselves from crashes.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=789223

 src/compositor/meta-plugin-manager.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/src/compositor/meta-plugin-manager.c b/src/compositor/meta-plugin-manager.c
index 834f678..9f6e672 100644
--- a/src/compositor/meta-plugin-manager.c
+++ b/src/compositor/meta-plugin-manager.c
@@ -153,10 +153,17 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr,
                                   MetaWindowActor   *actor,
                                   MetaPluginEffect   event)
 {
-  MetaPlugin *plugin = plugin_mgr->plugin;
-  MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
-  MetaDisplay *display = plugin_mgr->compositor->display;
-  gboolean retval = FALSE;
+  MetaPlugin *plugin;
+  MetaPluginClass *klass;
+  MetaDisplay *display;
+  gboolean retval;
+
+  g_return_val_if_fail (plugin_mgr, FALSE);
+
+  plugin = plugin_mgr->plugin;
+  klass = META_PLUGIN_GET_CLASS (plugin);
+  display = plugin_mgr->compositor->display;
+  retval = FALSE;
 
   if (display->display_opening)
     return FALSE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]