summaryrefslogtreecommitdiff
path: root/daemon/gdm-session.c
diff options
context:
space:
mode:
authorMichael Catanzaro <mcatanzaro@igalia.com>2016-01-12 12:34:04 -0600
committerMichael Catanzaro <mcatanzaro@igalia.com>2016-01-12 14:28:38 -0600
commitf42ea43dbd97f162d0b6ab59b70812a8b240c7d6 (patch)
treefe2142a68277959cdc95d85c802c99a6e565ee1d /daemon/gdm-session.c
parentf69ac4039dd5b6025560ddca1bbb0b1c81acef8a (diff)
downloadgdm-f42ea43dbd97f162d0b6ab59b70812a8b240c7d6.tar.gz
session: Crash better when no sessions are installed
If no session desktop file can be found in the search path, we are doomed. Crash nicely with g_error rather than continuing on to call g_sequence_get with an invalid GSequenceIter. https://bugzilla.gnome.org/show_bug.cgi?id=760548
Diffstat (limited to 'daemon/gdm-session.c')
-rw-r--r--daemon/gdm-session.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index dc3b4973..4765a6b5 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -564,6 +564,10 @@ get_fallback_session_name (GdmSession *self)
name = NULL;
session = g_sequence_get_begin_iter (sessions);
+
+ if (g_sequence_iter_is_end (session))
+ g_error ("GdmSession: no session desktop files installed, aborting...");
+
do {
if (g_sequence_get (session)) {
char *base_name;