fixed crash if some strange admins simul bots in unregistered channels
authorpk910 <philipp@zoelle1.de>
Sat, 7 Jan 2012 20:07:50 +0000 (21:07 +0100)
committerpk910 <philipp@zoelle1.de>
Sat, 7 Jan 2012 20:12:08 +0000 (21:12 +0100)
src/bot_NeonHelp.c
src/bot_NeonServ.c
src/bot_NeonSpam.c
src/bots.c

index a5eddd68b38ea31a6ad4e9def216a8ca93893a52..ab241c15cbbb68bd85552f5f0ae7b938d9cc2e16 100644 (file)
@@ -91,7 +91,10 @@ static void neonhelp_trigger_callback(int clientid, struct ChanNode *chan, char
     }
     printf_mysql_query("SELECT `trigger`, `defaulttrigger` FROM `bot_channels` LEFT JOIN `bots` ON `botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chan->channel_id, BOTID);
     res = mysql_use();
-    row = mysql_fetch_row(res);
+    if(!(row = mysql_fetch_row(res))) {
+        strcpy(trigger, "!");
+        return;
+    }
     if(row[0] && *row[0])
         strcpy(trigger, row[0]);
     else
index 46074d47bbef45b3c5131c3ffbe7ca6de4ba989a..3700d4bb03bc5de11aac2f8840fd8dbed1b3a200 100644 (file)
@@ -425,7 +425,10 @@ static void neonserv_trigger_callback(int clientid, struct ChanNode *chan, char
     }
     printf_mysql_query("SELECT `trigger`, `defaulttrigger` FROM `bot_channels` LEFT JOIN `bots` ON `botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chan->channel_id, BOTID);
     res = mysql_use();
-    row = mysql_fetch_row(res);
+    if(!(row = mysql_fetch_row(res))) {
+        strcpy(trigger, "+");
+        return;
+    }
     if(row[0] && *row[0])
         strcpy(trigger, row[0]);
     else
index 7d7dc1f2c4d62732ddf032a7231b3381fa539dce..10984d166f0939a39ac60b40a65c6ffac7765128 100644 (file)
@@ -142,7 +142,10 @@ static void neonspam_trigger_callback(int clientid, struct ChanNode *chan, char
     }
     printf_mysql_query("SELECT `trigger`, `defaulttrigger` FROM `bot_channels` LEFT JOIN `bots` ON `botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chan->channel_id, BOTID);
     res = mysql_use();
-    row = mysql_fetch_row(res);
+    if(!(row = mysql_fetch_row(res))) {
+        strcpy(trigger, "~");
+        return;
+    }
     if(row[0] && *row[0])
         strcpy(trigger, row[0]);
     else
index 3efc27ef813e13641ef29bcb218d128281f271cc..c9b06164a0caf974d992324dd92fff1e69ff82e5 100644 (file)
@@ -87,7 +87,10 @@ static void zero_bots_trigger_callback(int clientid, struct ChanNode *chan, char
     }
     printf_mysql_query("SELECT `trigger`, `defaulttrigger` FROM `bot_channels` LEFT JOIN `bots` ON `botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '0' AND `botid` = '%d'", chan->channel_id, clientid);
     res = mysql_use();
-    row = mysql_fetch_row(res);
+    if(!(row = mysql_fetch_row(res))) {
+        strcpy(trigger, "");
+        return;
+    }
     if(row[0] && *row[0])
         strcpy(trigger, row[0]);
     else