diff -ru gdm-2.20.7/daemon/gdm-xdmcp-manager.c gdm-2.20.7-chris/daemon/gdm-xdmcp-manager.c --- gdm-2.20.7/daemon/gdm-xdmcp-manager.c 2008-06-30 18:53:13.000000000 +0100 +++ gdm-2.20.7-chris/daemon/gdm-xdmcp-manager.c 2009-02-05 12:55:04.000000000 +0000 @@ -401,12 +401,12 @@ sock = socket (ai->ai_family, ai->ai_socktype, ai->ai_protocol); if (sock < 0) { - gdm_debug ("socket: %s", g_strerror (errno)); + gdm_error ("socket: %s", g_strerror (errno)); return sock; } if (bind (sock, ai->ai_addr, ai->ai_addrlen) < 0) { - gdm_debug ("bind: %s", g_strerror (errno)); + gdm_error ("bind: %s", g_strerror (errno)); close (sock); return -1; } @@ -728,7 +728,6 @@ s = get_willing_output (manager); if (s != NULL) { - g_free (last_status); last_status = s; } else { last_status = g_strdup (manager->priv->sysid); --- gdm-2.20.7/daemon/server.c 2008-06-30 18:53:13.000000000 +0100 +++ gdm-2.20.7-chris/daemon/server.c 2009-02-05 11:55:05.000000000 +0000 @@ -1053,9 +1053,14 @@ str = ve_sure_string (svr->command); svr_command = NULL; - g_shell_parse_argv (str, &svr_argc, &svr_command, NULL); - g_shell_parse_argv (disp->command, &argc, &argv, NULL); + GError* error_p; + + g_assert(g_shell_parse_argv (str, &svr_argc, + &svr_command, &error_p)); + + g_assert(g_shell_parse_argv (disp->command, &argc, + &argv, &error_p)); if (argv[0] == NULL || argv[1] == NULL) { g_strfreev (argv);