]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/mode.cpp
Changed length of user::modes buffer from 512 to much more sensible 54
[user/henk/code/inspircd.git] / src / mode.cpp
index 67f3785d8bc6f4adbee5bcb0ac9bcccb4cd52585..d33da7e7d31cb6dbc006cda2ae5ad50484ec4f1e 100644 (file)
  * ---------------------------------------------------
  */
 
+using namespace std;
+
+#include "inspircd_config.h"
 #include "inspircd.h"
 #include "inspircd_io.h"
 #include "inspircd_util.h"
-#include "inspircd_config.h"
 #include <unistd.h>
-#include <fcntl.h>
 #include <sys/errno.h>
-#include <sys/ioctl.h>
-#include <sys/utsname.h>
-#include <cstdio>
 #include <time.h>
 #include <string>
 #ifdef GCC3
 #include <map>
 #include <sstream>
 #include <vector>
-#include <errno.h>
 #include <deque>
-#include <errno.h>
-#include <unistd.h>
-#include <sched.h>
 #include "connection.h"
 #include "users.h"
 #include "servers.h"
@@ -51,8 +45,7 @@
 #include "commands.h"
 #include "xline.h"
 #include "inspstring.h"
-
-using namespace std;
+#include "helperfuncs.h"
 
 extern int MODCOUNT;
 extern std::vector<Module*> modules;
@@ -1235,7 +1228,7 @@ bool process_module_umode(char umode, userrec* source, void* dest, bool adding)
        {
                s2 = new userrec;
                strlcpy(s2->nick,ServerName,NICKMAX);
-               strcpy(s2->modes,"o");
+               strcpy(s2->modes,"o",52);
                s2->fd = -1;
                source = s2;
                faked = true;
@@ -1298,7 +1291,7 @@ void handle_mode(char **parameters, int pcnt, userrec *user)
                parameters[1] = (char*)tidied.c_str();
 
                char dmodes[MAXBUF];
-               strlcpy(dmodes,dest->modes,MAXBUF);
+               strlcpy(dmodes,dest->modes,52);
                log(DEBUG,"pulled up dest user modes: %s",dmodes);
 
                can_change = 0;
@@ -1423,7 +1416,7 @@ void handle_mode(char **parameters, int pcnt, userrec *user)
                                                                                strlcat(temp,moo,MAXBUF);
                                                                        }
                                                                }
-                                                               strlcpy(dmodes,temp,MAXBUF);
+                                                               strlcpy(dmodes,temp,52);
 
                                                                if (umode == 'o')
                                                                        DeleteOper(dest);
@@ -1483,7 +1476,7 @@ void handle_mode(char **parameters, int pcnt, userrec *user)
                        }
                        log(DEBUG,"Stripped mode line");
                        log(DEBUG,"Line dest is now %s",dmodes);
-                       strlcpy(dest->modes,dmodes,MAXMODES);
+                       strlcpy(dest->modes,dmodes,52);
 
                }
 
@@ -1586,7 +1579,7 @@ void server_mode(char **parameters, int pcnt, userrec *user)
                 parameters[1] = (char*)tidied.c_str();
 
                char dmodes[MAXBUF];
-               strlcpy(dmodes,dest->modes,MAXBUF);
+               strlcpy(dmodes,dest->modes,52);
 
                strcpy(outpars,"+");
                direction = 1;
@@ -1683,7 +1676,7 @@ void server_mode(char **parameters, int pcnt, userrec *user)
                                                                                strlcat(temp,moo,MAXBUF);
                                                                        }
                                                                }
-                                                               strlcpy(dmodes,temp,MAXBUF);
+                                                               strlcpy(dmodes,temp,52);
                                                        }
                                                }
                                        }
@@ -1782,7 +1775,7 @@ void merge_mode(char **parameters, int pcnt)
                 parameters[1] = (char*)tidied.c_str();
 
                char dmodes[MAXBUF];
-               strlcpy(dmodes,dest->modes,MAXBUF);
+               strlcpy(dmodes,dest->modes,52);
 
                strcpy(outpars,"+");
                direction = 1;
@@ -1879,7 +1872,7 @@ void merge_mode(char **parameters, int pcnt)
                                                                                strlcat(temp,moo,MAXBUF);
                                                                        }
                                                                }
-                                                               strlcpy(dmodes,temp,MAXBUF);
+                                                               strlcpy(dmodes,temp,52);
                                                        }
                                                }
                                        }
@@ -1968,7 +1961,7 @@ void merge_mode2(char **parameters, int pcnt, userrec* user)
                 parameters[1] = (char*)tidied.c_str();
 
                char dmodes[MAXBUF];
-               strlcpy(dmodes,dest->modes,MAXBUF);
+               strlcpy(dmodes,dest->modes,52);
 
                strcpy(outpars,"+");
                direction = 1;
@@ -2071,7 +2064,7 @@ void merge_mode2(char **parameters, int pcnt, userrec* user)
                                                                                strlcat(temp,moo,MAXBUF);
                                                                        }
                                                                }
-                                                               strlcpy(dmodes,temp,MAXBUF);
+                                                               strlcpy(dmodes,temp,52);
                                                        }
                                                }
                                        }