[gnome-initial-setup: 1/2] driver: Don't crash when saving parental controls



commit bd2cf341e800d7b86112d8dac31f8a59cc000fb4
Author: Matthew Leeds <mwl458 gmail com>
Date:   Tue Mar 17 13:14:23 2020 +0000

    driver: Don't crash when saving parental controls
    
    In gis_parental_controls_page_save_data() we call
    gis_driver_get_user_permissions() with a NULL password pointer, so don't
    seg fault in that case.

 gnome-initial-setup/gis-driver.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gnome-initial-setup/gis-driver.c b/gnome-initial-setup/gis-driver.c
index af7508d..14b62e0 100644
--- a/gnome-initial-setup/gis-driver.c
+++ b/gnome-initial-setup/gis-driver.c
@@ -347,6 +347,7 @@ gis_driver_set_user_permissions (GisDriver   *driver,
 {
   GisDriverPrivate *priv = gis_driver_get_instance_private (driver);
   g_set_object (&priv->user_account, user);
+  g_free (priv->user_password);
   priv->user_password = g_strdup (password);
 }
 
@@ -356,8 +357,12 @@ gis_driver_get_user_permissions (GisDriver    *driver,
                                  const gchar **password)
 {
   GisDriverPrivate *priv = gis_driver_get_instance_private (driver);
-  *user = priv->user_account;
-  *password = priv->user_password;
+
+  if (user != NULL)
+    *user = priv->user_account;
+
+  if (password != NULL)
+    *password = priv->user_password;
 }
 
 /**
@@ -379,7 +384,7 @@ gis_driver_set_parent_permissions (GisDriver   *driver,
   GisDriverPrivate *priv = gis_driver_get_instance_private (driver);
 
   g_set_object (&priv->parent_account, parent);
-  g_assert (priv->parent_password == NULL);
+  g_free (priv->parent_password);
   priv->parent_password = g_strdup (password);
 }
 


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