Rex Dieter ade3560
diff -up lightdm-1.10.2/src/greeter.c.FD_leak lightdm-1.10.2/src/greeter.c
Rex Dieter ade3560
--- lightdm-1.10.2/src/greeter.c.FD_leak	2014-09-07 18:29:36.000000000 -0500
Rex Dieter ade3560
+++ lightdm-1.10.2/src/greeter.c	2014-09-17 06:44:52.190389652 -0500
Rex Dieter ade3560
@@ -987,9 +987,15 @@ greeter_finalize (GObject *object)
Rex Dieter 42abf5c
         g_object_unref (self->priv->authentication_session);
Rex Dieter 42abf5c
     }
Rex Dieter 42abf5c
     if (self->priv->to_greeter_channel)
Rex Dieter 42abf5c
+    {
Rex Dieter 42abf5c
+        close(g_io_channel_unix_get_fd(self->priv->to_greeter_channel));
Rex Dieter 42abf5c
         g_io_channel_unref (self->priv->to_greeter_channel);
Rex Dieter 42abf5c
+    }
Rex Dieter 42abf5c
     if (self->priv->from_greeter_channel)
Rex Dieter 42abf5c
+    {
Rex Dieter 42abf5c
+        close(g_io_channel_unix_get_fd(self->priv->from_greeter_channel)); 
Rex Dieter 42abf5c
         g_io_channel_unref (self->priv->from_greeter_channel);
Rex Dieter 42abf5c
+    }
Rex Dieter 42abf5c
     if (self->priv->from_greeter_watch)
Rex Dieter 42abf5c
         g_source_remove (self->priv->from_greeter_watch);
Rex Dieter 42abf5c
 
Rex Dieter ade3560
diff -up lightdm-1.10.2/src/session.c.FD_leak lightdm-1.10.2/src/session.c
Rex Dieter ade3560
--- lightdm-1.10.2/src/session.c.FD_leak	2014-09-11 19:04:40.000000000 -0500
Rex Dieter ade3560
+++ lightdm-1.10.2/src/session.c	2014-09-17 06:44:52.191389641 -0500
Rex Dieter ade3560
@@ -459,6 +459,8 @@ session_watch_cb (GPid pid, gint status,
Rex Dieter 42abf5c
     if (session->priv->is_guest)
Rex Dieter 42abf5c
         guest_account_cleanup (session->priv->username);
Rex Dieter 42abf5c
 
Rex Dieter 42abf5c
+    close(session->priv->to_child_input);
Rex Dieter 42abf5c
+    close(session->priv->from_child_output);
Rex Dieter 42abf5c
     /* Drop our reference on the child process, it has terminated */
Rex Dieter 42abf5c
     g_object_unref (session);
Rex Dieter 42abf5c
 }