[mutter] monitor-config: Free `meta_monitor_spec` safely



commit 88647ae23cd818c28ff81fd9de38aac4144c4994
Author: Thomas Mühlbacher <tmuehlbacher posteo net>
Date:   Wed Jan 27 20:00:04 2021 +0100

    monitor-config: Free `meta_monitor_spec` safely
    
    `g_free()` alone can't help if the value it gets is `NULL` + the offset
    of the struct members.
    
    This prevents gnome-shell from segfaulting if `monitors.xml` contains
    invalid XML.
    
    Closes: <https://gitlab.gnome.org/GNOME/mutter/-/issues/1011>
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1685>

 src/backends/meta-monitor-config-manager.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/src/backends/meta-monitor-config-manager.c b/src/backends/meta-monitor-config-manager.c
index 1ef92c2d4d..fc7a8dd544 100644
--- a/src/backends/meta-monitor-config-manager.c
+++ b/src/backends/meta-monitor-config-manager.c
@@ -1388,7 +1388,8 @@ meta_monitor_config_manager_class_init (MetaMonitorConfigManagerClass *klass)
 void
 meta_monitor_config_free (MetaMonitorConfig *monitor_config)
 {
-  meta_monitor_spec_free (monitor_config->monitor_spec);
+  if (monitor_config->monitor_spec)
+    meta_monitor_spec_free (monitor_config->monitor_spec);
   g_free (monitor_config->mode_spec);
   g_free (monitor_config);
 }


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