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 else
{ {
if (msglen < user->hub->config->max_recv_buffer) if (msglen < g_hub->config->max_recv_buffer)
{ {
// FIXME: hub is not set???? // 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; flag_close = quit_protocol_error;
more = 0; more = 0;
@ -109,7 +109,7 @@ void net_on_read(int fd, short ev, void *arg)
if (handled < buflen) 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); user_flag_set(user, flag_maxbuf);
hub_free(user->recv_buf); hub_free(user->recv_buf);
@ -119,7 +119,7 @@ void net_on_read(int fd, short ev, void *arg)
else else
{ {
if (!user->recv_buf) 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) if (user->recv_buf)
{ {

View File

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

View File

@ -160,7 +160,15 @@ int uman_remove(struct hub_info* hub, struct user* user)
return -1; return -1;
list_remove(hub->users->list, user); 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_size -= user->limits.shared_size;
hub->users->shared_files -= user->limits.shared_files; hub->users->shared_files -= user->limits.shared_files;