Blob Blame History Raw
diff -up lightdm-1.7.17/src/greeter.c.FD_leak_fix2 lightdm-1.7.17/src/greeter.c
--- lightdm-1.7.17/src/greeter.c.FD_leak_fix2	2013-10-05 21:01:04.771556856 -0500
+++ lightdm-1.7.17/src/greeter.c	2013-10-05 21:03:31.929960061 -0500
@@ -938,9 +938,15 @@ greeter_finalize (GObject *object)
         g_object_unref (self->priv->authentication_session);
     }
     if (self->priv->to_greeter_channel)
+    {
+        close(g_io_channel_unix_get_fd(self->priv->to_greeter_channel));
         g_io_channel_unref (self->priv->to_greeter_channel);
+    }
     if (self->priv->from_greeter_channel)
+    {
+        close(g_io_channel_unix_get_fd(self->priv->from_greeter_channel)); 
         g_io_channel_unref (self->priv->from_greeter_channel);
+    }
     if (self->priv->from_greeter_watch)
         g_source_remove (self->priv->from_greeter_watch);
 
diff -up lightdm-1.7.17/src/session.c.FD_leak_fix2 lightdm-1.7.17/src/session.c
--- lightdm-1.7.17/src/session.c.FD_leak_fix2	2013-09-19 12:06:44.000000000 -0500
+++ lightdm-1.7.17/src/session.c	2013-10-05 21:01:04.772556846 -0500
@@ -443,6 +443,8 @@ session_watch_cb (GPid pid, gint status,
     if (session->priv->is_guest)
         guest_account_cleanup (session->priv->username);
 
+    close(session->priv->to_child_input);
+    close(session->priv->from_child_output);
     /* Drop our reference on the child process, it has terminated */
     g_object_unref (session);
 }