From: Skywing Date: Sun, 23 Nov 2008 18:54:12 +0000 (-0500) Subject: Use primary router when sending WHOIS packet if client->router is NULL. X-Git-Tag: silc.toolkit.1.1.9~4^2~4 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=b560ba10ed343202962d5575a988e1faec91e0db Use primary router when sending WHOIS packet if client->router is NULL. client may be non-NULL, but client->router may be NULL when we enter silc_server_query_client in the case of a detached client on a remote server that has not been fully resolved yet. In this case, we should try and send the packet using the primary router. This fixes a crash wherein silc_server_query_client would sometimes crash with a NULL dereference if called on a remote detached client. --- diff --git a/apps/silcd/server_query.c b/apps/silcd/server_query.c index 59eda802..968e0ca3 100644 --- a/apps/silcd/server_query.c +++ b/apps/silcd/server_query.c @@ -2182,7 +2182,8 @@ SilcClientEntry silc_server_query_client(SilcServer server, server->cmd_ident, 1, 4, idp->data, silc_buffer_len(idp)); - silc_server_packet_send(server, client ? client->router->connection : + silc_server_packet_send(server, + client && client->router ? client->router->connection : SILC_PRIMARY_ROUTE(server), SILC_PACKET_COMMAND, 0, buffer->data, silc_buffer_len(buffer));