diff options
Diffstat (limited to 'src/xdmcp-server.c')
-rw-r--r-- | src/xdmcp-server.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/xdmcp-server.c b/src/xdmcp-server.c index 24381bdb..489e6bb3 100644 --- a/src/xdmcp-server.c +++ b/src/xdmcp-server.c @@ -363,6 +363,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]); @@ -377,7 +380,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++) |