projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Disconnect problem: Mark incoming connections immediately local
[silc.git]
/
lib
/
silcclient
/
client_entry.c
diff --git
a/lib/silcclient/client_entry.c
b/lib/silcclient/client_entry.c
index 0c812de00adbd6bec3672098d5b4565e334c52f3..0933c3d4d8bad4b48ac0025b2564de8034b4ada2 100644
(file)
--- a/
lib/silcclient/client_entry.c
+++ b/
lib/silcclient/client_entry.c
@@
-1281,6
+1281,7
@@
SilcClientEntry silc_client_nickname_format(SilcClient client,
}
newnick[off] = 0;
}
newnick[off] = 0;
+ memset(client_entry->nickname, 0, sizeof(client_entry->nickname));
memcpy(client_entry->nickname, newnick, strlen(newnick));
silc_client_list_free(client, conn, clients);
memcpy(client_entry->nickname, newnick, strlen(newnick));
silc_client_list_free(client, conn, clients);
@@
-1721,6
+1722,7
@@
SilcBool silc_client_del_channel(SilcClient client, SilcClientConnection conn,
return FALSE;
silc_client_empty_channel(client, conn, channel);
return FALSE;
silc_client_empty_channel(client, conn, channel);
+ silc_client_del_channel_private_keys(client, conn, channel);
silc_hash_table_free(channel->user_list);
silc_free(channel->channel_name);
silc_free(channel->topic);
silc_hash_table_free(channel->user_list);
silc_free(channel->channel_name);
silc_free(channel->topic);
@@
-1747,7
+1749,6
@@
SilcBool silc_client_del_channel(SilcClient client, SilcClientConnection conn,
if (channel->channel_pubkeys)
silc_argument_list_free(channel->channel_pubkeys,
SILC_ARGUMENT_PUBLIC_KEY);
if (channel->channel_pubkeys)
silc_argument_list_free(channel->channel_pubkeys,
SILC_ARGUMENT_PUBLIC_KEY);
- silc_client_del_channel_private_keys(client, conn, channel);
silc_atomic_uninit16(&channel->internal.refcnt);
silc_rwlock_free(channel->internal.lock);
silc_schedule_task_del_by_context(conn->client->schedule, channel);
silc_atomic_uninit16(&channel->internal.refcnt);
silc_rwlock_free(channel->internal.lock);
silc_schedule_task_del_by_context(conn->client->schedule, channel);