From f5dcee4ba72270ade242994ff99a24e8433ae8f9 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Oct 30 2009 21:16:32 +0000 Subject: - Fix double free (bug 512944) --- diff --git a/fix-double-free.patch b/fix-double-free.patch new file mode 100644 index 0000000..d25f31a --- /dev/null +++ b/fix-double-free.patch @@ -0,0 +1,30 @@ +commit a1835572951be24cdaa15496708d502ef90e29ff +Author: Ray Strode +Date: Wed Oct 28 11:13:10 2009 -0400 + + Prevent start session signal handler from getting called multiple times + + It was causing a double free. + +diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c +index 4991cb1..4e147ea 100644 +--- a/gui/simple-greeter/gdm-greeter-login-window.c ++++ b/gui/simple-greeter/gdm-greeter-login-window.c +@@ -908,8 +908,17 @@ on_ready_to_start_session (GdmGreeterLoginWindow *login_window, + GParamSpec *param_spec, + char *service_name) + { ++ if (!login_window->priv->is_interactive) { ++ return; ++ } ++ + gdm_greeter_login_window_start_session_when_ready (login_window, service_name); + g_free (service_name); ++ ++ if (login_window->priv->start_session_handler_id > 0) { ++ g_signal_handler_disconnect (login_window, login_window->priv->start_session_handler_id); ++ login_window->priv->start_session_handler_id = 0; ++ } + } + + static void diff --git a/gdm.spec b/gdm.spec index 2fe8a12..4caf3e6 100644 --- a/gdm.spec +++ b/gdm.spec @@ -16,7 +16,7 @@ Summary: The GNOME Display Manager Name: gdm Version: 2.26.1 -Release: 13%{?dist} +Release: 14%{?dist} Epoch: 1 License: GPLv2+ Group: User Interface/X @@ -106,6 +106,9 @@ Patch21: xdmcp-use-after-free.patch # fixed upstream, rh 502778 Patch22: gdm-2.26.0-fix-lang-regex.patch +# http://bugzilla.redhat.com/512944 +Patch23: fix-double-free.patch + # Fedora-specific Patch99: gdm-2.23.1-fedora-logo.patch @@ -152,6 +155,7 @@ The GDM fingerprint plugin provides functionality necessary to use a fingerprint %patch20 -p1 -b .session-client %patch21 -p1 -b .xdmcp-use-after-free %patch22 -p1 -b .fix-lang-regex +%patch23 -p1 -b .fix-double-free %patch99 -p1 -b .fedora-logo @@ -393,6 +397,9 @@ fi %{_libdir}/gdm/simple-greeter/plugins/fingerprint.so %changelog +* Fri Oct 30 2009 Ray Strode 2.26.1-14 +- Fix double free (bug 512944) + * Fri Jun 26 2009 Ray Strode - 1:2.26.1-13 - Make xguest work (bug 505193)