summaryrefslogtreecommitdiff
path: root/daemon/gdm-xdmcp-display-factory.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2010-06-16 12:33:20 -0400
committerRay Strode <rstrode@redhat.com>2010-06-16 12:33:20 -0400
commit86ac166294f0fc8f662031167066acf1928cf139 (patch)
treec2cebefa624c225cf5a8ec3c3661a6fa939d49f5 /daemon/gdm-xdmcp-display-factory.c
parent2696ee79767d58ed0236f3a08d6d5af272a58ef5 (diff)
downloadgdm-86ac166294f0fc8f662031167066acf1928cf139.tar.gz
Call XdmcpFill with properly initialized length
commit e533f4b72568cdc3d7f7ec6cec09d9392b11d54c cleaned up various XDMCP issues, but it unfortunately also created a bug making XDMCP fail a high percentage of the time. XdmcpFill takes an in-out length argument. This argument was getting passed an uninitialized variable.
Diffstat (limited to 'daemon/gdm-xdmcp-display-factory.c')
-rw-r--r--daemon/gdm-xdmcp-display-factory.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
index 447833d2..791bba3b 100644
--- a/daemon/gdm-xdmcp-display-factory.c
+++ b/daemon/gdm-xdmcp-display-factory.c
@@ -2879,12 +2879,13 @@ decode_packet (GIOChannel *source,
return TRUE;
}
+ ss_len = (int)gdm_sockaddr_len (&clnt_ss);
+
res = XdmcpFill (factory->priv->socket_fd, &factory->priv->buf, (XdmcpNetaddr)&clnt_ss, &ss_len);
if G_UNLIKELY (! res) {
g_debug ("GdmXdmcpDisplayFactory: Could not create XDMCP buffer!");
return TRUE;
}
- ss_len = (int)gdm_sockaddr_len (&clnt_ss);
res = XdmcpReadHeader (&factory->priv->buf, &header);
if G_UNLIKELY (! res) {