fixed crash if the user quits directly after performing a command & moved mysql_free...
authorpk910 <philipp@zoelle1.de>
Tue, 31 Jan 2012 18:53:27 +0000 (19:53 +0100)
committerpk910 <philipp@zoelle1.de>
Tue, 31 Jan 2012 18:53:27 +0000 (19:53 +0100)
src/IRCEvents.c
src/main.c
src/modcmd.c

index cc59f74308ce97880afd8e2dbe26df3c0c869ae5..eb29a094ff23f8c3ea238b1c3ea81c488afb1d5f 100644 (file)
@@ -124,7 +124,7 @@ void pre_event(UNUSED_ARG(int type)) {
 }
 
 void post_event(UNUSED_ARG(int type)) {
-    mysql_free();
+
 }
 
 //EVENTS
index 1730e38026f4389f721f33b8d15891190034e812..6486d6cb3a3de881feff95cf39823cfc4412a8a8 100644 (file)
@@ -116,6 +116,7 @@ void * thread_main(void *arg) {
         } while(time(0) < socket_wait);
         clearTempUsers();
         destroyEvents();
+        mysql_free();
     }
     running_threads--;
     return NULL;
@@ -284,6 +285,7 @@ main:
         loop_bots();
         qserver_loop();
         queue_loop();
+        mysql_free();
         usleep(usleep_delay);
     }
     for(tid_id = 0; tid_id < worker_threads; tid_id++) {
@@ -303,6 +305,7 @@ main:
         destroyEvents();
         qserver_loop();
         queue_loop();
+        mysql_free();
     }
     #endif
     cleanup();
index 5ece7b0839c8a2e7ab40642105b72dfbbcaf97de..8846d900197bc75b53c1e0181a04b062a093058a 100644 (file)
@@ -128,7 +128,8 @@ static void handle_command_async(struct ClientSocket *client, struct UserNode *u
 static USERAUTH_CALLBACK(command_checked_auth) {
     struct command_check_user_cache *cache = data;
     tmp_text_client = cache->textclient;
-    handle_command_async(cache->client, user, cache->chan, cache->sent_chan, cache->cbind, cache->argv, cache->argc);
+    if(user)
+        handle_command_async(cache->client, user, cache->chan, cache->sent_chan, cache->cbind, cache->argv, cache->argc);
     free(cache->message);
     if(cache->args_buffer)
         free(cache->args_buffer);