Crash fix

This commit is contained in:
Jan Vidar Krey 2009-05-19 09:38:57 +02:00
parent e120d5c76d
commit aa18ac047d
3 changed files with 14 additions and 6 deletions

View File

@ -86,10 +86,10 @@ void net_on_read(int fd, short ev, void *arg)
}
else
{
if (msglen < user->hub->config->max_recv_buffer)
if (msglen < g_hub->config->max_recv_buffer)
{
// FIXME: hub is not set????
if (hub_handle_message(user->hub, user, &buf[handled], msglen) == -1)
if (hub_handle_message(g_hub, user, &buf[handled], msglen) == -1)
{
flag_close = quit_protocol_error;
more = 0;
@ -109,7 +109,7 @@ void net_on_read(int fd, short ev, void *arg)
if (handled < buflen)
{
if ((buflen - handled) > user->hub->config->max_recv_buffer)
if ((buflen - handled) > g_hub->config->max_recv_buffer)
{
user_flag_set(user, flag_maxbuf);
hub_free(user->recv_buf);
@ -119,7 +119,7 @@ void net_on_read(int fd, short ev, void *arg)
else
{
if (!user->recv_buf)
user->recv_buf = hub_malloc(user->hub->config->max_recv_buffer);
user->recv_buf = hub_malloc(g_hub->config->max_recv_buffer);
if (user->recv_buf)
{

View File

@ -43,7 +43,7 @@ struct user* user_create(struct hub_info* hub, int sd)
user->sd = sd;
user->tm_connected = time(NULL);
user->hub = hub;
// user->hub = hub;
user->feature_cast = 0;
user->send_queue = list_create();

View File

@ -160,7 +160,15 @@ int uman_remove(struct hub_info* hub, struct user* user)
return -1;
list_remove(hub->users->list, user);
hub->users->count--;
if (hub->users->count > 0)
{
hub->users->count--;
}
else
{
assert(!"negative count!");
}
hub->users->shared_size -= user->limits.shared_size;
hub->users->shared_files -= user->limits.shared_files;