Hello community,

here is the log from the commit of package lightdm-gtk-greeter for 
openSUSE:Factory checked in at 2013-10-11 08:59:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lightdm-gtk-greeter (Old)
 and      /work/SRC/openSUSE:Factory/.lightdm-gtk-greeter.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lightdm-gtk-greeter"

Changes:
--------
--- /work/SRC/openSUSE:Factory/lightdm-gtk-greeter/lightdm-gtk-greeter.changes  
2013-10-02 20:30:19.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.lightdm-gtk-greeter.new/lightdm-gtk-greeter.changes 
    2013-10-11 08:59:09.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Oct 10 09:40:04 UTC 2013 - rmila...@suse.com
+
+- add lightdm-gtk-greeter-invalid-last_session.patch
+  fix segfault when last_session is an invalid session (lp#1161883) 
+
+-------------------------------------------------------------------

New:
----
  lightdm-gtk-greeter-invalid-last_session.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lightdm-gtk-greeter.spec ++++++
--- /var/tmp/diff_new_pack.VvpzaY/_old  2013-10-11 08:59:10.000000000 +0200
+++ /var/tmp/diff_new_pack.VvpzaY/_new  2013-10-11 08:59:10.000000000 +0200
@@ -17,6 +17,8 @@
 #
 
 
+# ATTENTION: Please do not update to releases > 1.3.1 for now -- 
g...@opensuse.org
+
 Name:           lightdm-gtk-greeter
 Version:        1.3.1
 Release:        0
@@ -37,6 +39,8 @@
 Patch4:         lightdm-gtk-greeter-fix-ui.patch
 # PATCH-FIX-UPSTREAM lightdm-gtk-greeter-fix-login.patch g...@opensuse.org -- 
Fix login/unlock detection
 Patch5:         lightdm-gtk-greeter-fix-login.patch
+# PATCH-FIX-OPENSUSE lightdm-gtk-greeter-invalid-last_session.patch lp#1161883 
rmila...@suse.com -- Fix segfault when last_session is invalid (last_session 
points to a non-exsting/deleted session)
+Patch6:         lightdm-gtk-greeter-invalid-last_session.patch
 BuildRequires:  gnome-common
 BuildRequires:  gobject-introspection
 BuildRequires:  intltool
@@ -82,6 +86,7 @@
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %build
 autoreconf -fi

++++++ lightdm-gtk-greeter-invalid-last_session.patch ++++++
Index: lightdm-gtk-greeter-1.3.1/src/lightdm-gtk-greeter.c
===================================================================
--- lightdm-gtk-greeter-1.3.1.orig/src/lightdm-gtk-greeter.c
+++ lightdm-gtk-greeter-1.3.1/src/lightdm-gtk-greeter.c
@@ -77,9 +77,26 @@ set_session (const gchar *session)
     last_session = g_key_file_get_value (state, "greeter", "last-session", 
NULL);
     if (last_session && g_strcmp0 (session, last_session) != 0)
     {
-        set_session (last_session);
-        g_free (last_session);
-        return;
+        /* Check if last_session is a valid session */
+        const GList *items, *item;
+        items = lightdm_get_sessions ();
+        for (item = items; item; item = item->next)
+        {
+             LightDMSession *session = item->data;
+             gchar *s;
+             gboolean matched;
+             s = lightdm_session_get_key (session);
+             matched = strcmp (s, last_session) == 0;
+             s = NULL;
+             g_free (s);
+             if (matched)
+             {
+                 set_session (last_session);
+                 g_free (last_session);
+                 return;
+             }
+        }
+        g_warning ("Invalid session: %s", last_session);
     }
     g_free (last_session);
     default_session = lightdm_greeter_get_default_session_hint (greeter);
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to