/* If this was nick@server query, retry to @serv if the primary router
returned error. */
if (query->nick_server[0] && !query->dynamic_retry &&
+ server->config->dynamic_server &&
!silc_server_num_sockets_by_remote(server, query->nick_server,
query->nick_server, 706, type)) {
SILC_LOG_DEBUG(("Retry query by connecting to %s:%d",
SilcUInt32 clients_count = 0, channels_count = 0, servers_count = 0;
int i;
+ if (!idata) {
+ silc_server_query_free(query);
+ return;
+ }
+
SILC_LOG_DEBUG(("Processing %s query",
silc_get_command_name(query->querycmd)));
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));