summaryrefslogtreecommitdiff
path: root/src/xdmcp-server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xdmcp-server.c')
-rw-r--r--src/xdmcp-server.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/xdmcp-server.c b/src/xdmcp-server.c
index d1cea2f3..a8ad7769 100644
--- a/src/xdmcp-server.c
+++ b/src/xdmcp-server.c
@@ -320,6 +320,9 @@ choose_connection (XDMCPPacket *packet, GInetAddress *source_address)
gssize index = -1;
addresses_length = packet->Request.n_connections;
+ if (addresses_length == 0)
+ return NULL;
+
addresses = malloc (sizeof (GInetAddress *) * addresses_length);
for (i = 0; i < addresses_length; i++)
addresses[i] = connection_to_address (&packet->Request.connections[i]);
@@ -334,7 +337,7 @@ choose_connection (XDMCPPacket *packet, GInetAddress *source_address)
index = find_address (addresses, addresses_length, g_inet_address_get_family (source_address));
/* Otherwise use the first available */
- if (index < 0 && addresses_length > 0)
+ if (index < 0)
index = 0;
for (i = 0; i < addresses_length; i++)