From 4f370664520f87d3054cad72b9d011a684806632 Mon Sep 17 00:00:00 2001 From: Skywing Date: Sun, 23 Nov 2008 13:54:12 -0500 Subject: [PATCH] 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. --- apps/silcd/server_query.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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)); -- 2.24.0