if (idata->hash)
silc_hash_free(idata->hash);
- if (idata->public_key)
- silc_pkcs_public_key_free(idata->public_key);
+ if (idata->rekey)
+ silc_ske_free_rekey_material(idata->rekey);
+ idata->rekey = NULL;
idata->hash = NULL;
idata->public_key = NULL;
}
int ret;
ret = silc_parse_userfqdn(username, u, sizeof(u), h, sizeof(h));
- if (!u)
+ if (!ret)
return NULL;
if (!silc_identifier_verify(u, strlen(u), SILC_STRING_UTF8, 128))
return NULL;
}
client = silc_calloc(1, sizeof(*client));
+ if (!client)
+ return NULL;
client->nickname = nickname;
client->username = username ? strdup(username) : NULL;
client->userinfo = userinfo;
client);
assert(!silc_hash_table_count(client->channels));
+ silc_free(entry->name);
silc_free(client->nickname);
silc_free(client->servername);
silc_free(client->username);