Protect against pw->pw_gecos being NULL.
authorMatthias Clasen <maclas@gmx.de>
Thu, 22 Jan 2004 19:48:33 +0000 (19:48 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 22 Jan 2004 19:48:33 +0000 (19:48 +0000)
Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>

* glib/gutils.c (g_get_any_init): Protect against
pw->pw_gecos being NULL.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/gutils.c

index 0a06bf839293aab5684b1f26ebe3030b5346d8b8..51d891a0c33f85186b90658ba53c242ec4279ae5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_any_init): Protect against
+       pw->pw_gecos being NULL.
+
 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_get_any_init): Don't treat the Win32
index 0a06bf839293aab5684b1f26ebe3030b5346d8b8..51d891a0c33f85186b90658ba53c242ec4279ae5 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_any_init): Protect against
+       pw->pw_gecos being NULL.
+
 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_get_any_init): Don't treat the Win32
index 0a06bf839293aab5684b1f26ebe3030b5346d8b8..51d891a0c33f85186b90658ba53c242ec4279ae5 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_any_init): Protect against
+       pw->pw_gecos being NULL.
+
 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_get_any_init): Don't treat the Win32
index 0a06bf839293aab5684b1f26ebe3030b5346d8b8..51d891a0c33f85186b90658ba53c242ec4279ae5 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_any_init): Protect against
+       pw->pw_gecos being NULL.
+
 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_get_any_init): Don't treat the Win32
index 0a06bf839293aab5684b1f26ebe3030b5346d8b8..51d891a0c33f85186b90658ba53c242ec4279ae5 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_any_init): Protect against
+       pw->pw_gecos being NULL.
+
 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_get_any_init): Don't treat the Win32
index 0a06bf839293aab5684b1f26ebe3030b5346d8b8..51d891a0c33f85186b90658ba53c242ec4279ae5 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/gutils.c (g_get_any_init): Protect against
+       pw->pw_gecos being NULL.
+
 Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_get_any_init): Don't treat the Win32
index f791005513d97496c81ee56bd24f552b0a1bf596..290512db1e2108ce0d81e06b84c8c9bf316e8315 100644 (file)
@@ -957,18 +957,21 @@ g_get_any_init (void)
          }
        if (pw)
          {
-           gchar **gecos_fields;
-           gchar **name_parts;
-
            g_user_name = g_strdup (pw->pw_name);
 
-           /* split the gecos field and substitute '&' */
-           gecos_fields = g_strsplit (pw->pw_gecos, ",", 0);
-           name_parts = g_strsplit (gecos_fields[0], "&", 0);
-           pw->pw_name[0] = g_ascii_toupper (pw->pw_name[0]);
-           g_real_name = g_strjoinv (pw->pw_name, name_parts);
-           g_strfreev (gecos_fields);
-           g_strfreev (name_parts);
+           if (pw->pw_gecos) 
+             {
+               gchar **gecos_fields;
+               gchar **name_parts;
+
+               /* split the gecos field and substitute '&' */
+               gecos_fields = g_strsplit (pw->pw_gecos, ",", 0);
+               name_parts = g_strsplit (gecos_fields[0], "&", 0);
+               pw->pw_name[0] = g_ascii_toupper (pw->pw_name[0]);
+               g_real_name = g_strjoinv (pw->pw_name, name_parts);
+               g_strfreev (gecos_fields);
+               g_strfreev (name_parts);
+             }
 
            if (!g_home_dir)
              g_home_dir = g_strdup (pw->pw_dir);