if (!old_query) {
query = silc_calloc(1, sizeof(*query));
+ if (!query)
+ return FALSE;
query->querycmd = querycmd;
query->cmd = silc_server_command_dup(cmd);
query->router = SILC_PRIMARY_ROUTE(server);
/* 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",
} else {
/* Parse the IDs included in the query */
query->ids = silc_calloc(argc, sizeof(*query->ids));
+ if (!query->ids)
+ return FALSE;
for (i = 0; i < argc; i++) {
tmp = silc_argument_get_arg_type(cmd->args, i + 4, &tmp_len);
} else {
/* Parse the IDs included in the query */
query->ids = silc_calloc(argc, sizeof(*query->ids));
+ if (!query->ids)
+ return FALSE;
for (i = 0; i < argc; i++) {
tmp = silc_argument_get_arg_type(cmd->args, i + 5, &tmp_len);
SilcSKRKey key;
if (keys) {
+ SILC_LOG_DEBUG(("Found %d keys", silc_dlist_count(keys)));
(*uc->clients) = silc_realloc((*uc->clients),
sizeof((**uc->clients)) *
((*uc->clients_count) +
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)));