[gdm] session: fix corruption of GDM_LANG environment variable
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm] session: fix corruption of GDM_LANG environment variable
- Date: Mon, 24 Aug 2015 16:51:58 +0000 (UTC)
commit a1fbd8cb1199a9a918e2be212075b6d3d89c0914
Author: Ray Strode <rstrode redhat com>
Date: Mon Aug 24 12:49:07 2015 -0400
session: fix corruption of GDM_LANG environment variable
commit cab736cfb32aa25677287ff261ae1cb11f036e89 introduced a
bug that leads to GDM_LANG getting set to gibberish. This
causes spew to the log and, in some cases, prevents successful
login.
This commit addresses the problem by duplicating a string that
is, otherwise, freed before its second use.
https://bugzilla.gnome.org/show_bug.cgi?id=754033
daemon/gdm-session.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 6faa7cd..982b5eb 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2451,7 +2451,7 @@ set_up_session_environment (GdmSession *self)
{
GdmSessionDisplayMode display_mode;
gchar *desktop_names;
- const char *locale;
+ char *locale;
gdm_session_set_environment_variable (self,
"GDMSESSION",
@@ -2470,7 +2470,7 @@ set_up_session_environment (GdmSession *self)
set_up_session_language (self);
- locale = get_default_language_name (self);
+ locale = g_strdup (get_default_language_name (self));
if (locale != NULL && locale[0] != '\0') {
gdm_session_set_environment_variable (self,
@@ -2481,6 +2481,8 @@ set_up_session_environment (GdmSession *self)
locale);
}
+ g_free (locale);
+
display_mode = gdm_session_get_display_mode (self);
if (display_mode == GDM_SESSION_DISPLAY_MODE_REUSE_VT) {
gdm_session_set_environment_variable (self,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]