]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/mode.cpp
XLine fixes and fix to +l with large limits
[user/henk/code/inspircd.git] / src / mode.cpp
index 38756ffcfae3f4458e52b6fb90b447001ac70d15..f23546d75ef9d2a1da081ba431905c3105bf09c8 100644 (file)
@@ -33,6 +33,7 @@
 #include "wildcard.h"
 #include "message.h"
 #include "commands.h"
+#include "xline.h"
 
 using namespace std;
 
@@ -655,6 +656,11 @@ void process_modes(char **parameters,userrec* user,chanrec *chan,int status, int
                                                        break;
                                                
                                                chan->limit = atoi(parameters[param]);
+                                               
+                                               // reported by mech: large values cause underflow
+                                               if (chan->limit < 0)
+                                                       chan->limit = MAXINT;
+                                                       
                                                if (chan->limit)
                                                {
                                                        strcat(outlist,"l");