]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/opserv.c
fixing small memory leak
[irc/evilnet/x3.git] / src / opserv.c
index b74fc17c128f7808fd93b3a556f09910d8fff9ff..7f3e0cc310fb19d1f7de918696f5d5ed8c75fc7f 100644 (file)
@@ -18,6 +18,7 @@
  * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.
  */
 
+#include "config.h"
 #include "chanserv.h"
 #include "conf.h"
 #include "common.h"
@@ -1399,8 +1400,10 @@ opserv_svsjoin(struct userNode *target, UNUSED_ARG(char *src_handle), UNUSED_ARG
             return; /* channel is invite only */
         }
 
-        if (channel->members.used >= channel->limit) {
-            return; /* channel is invite on */
+        if (channel->limit > 0) {
+            if (channel->members.used >= channel->limit) {
+                return; /* channel is invite on */
+            }
         }
 
         if (*channel->key) {
@@ -2808,7 +2811,7 @@ opserv_notice_handler(struct userNode *user, struct userNode *bot, char *text, U
         if(text[0] == '\001') {
             text++;
             cmd = mysep(&text, " ");
-            if(!irccasecmp(cmd, "VERSION")) {
+            if(cmd && !irccasecmp(cmd, "VERSION")) {
                 char *version = mysep(&text, "\n");
                 if(!version)
                     version = "";
@@ -5740,8 +5743,10 @@ trace_svsjoin_func(struct userNode *match, void *extra)
             return 1; /* channel is invite only */
         }
 
-        if (channel->members.used >= channel->limit) {
-            return 1; /* channel is invite on */
+        if (channel->limit > 0) {
+            if (channel->members.used >= channel->limit) {
+                return 1; /* channel is invite on */
+            }
         }
 
         if (*channel->key) {