diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/helperfuncs.cpp | 4 | ||||
-rw-r--r-- | src/inspircd_io.cpp | 8 | ||||
-rw-r--r-- | src/mode.cpp | 4 | ||||
-rw-r--r-- | src/socketengine.cpp | 2 |
4 files changed, 11 insertions, 7 deletions
diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 6b7178e22..14455ed9b 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -340,12 +340,12 @@ void WriteTo(userrec *source, userrec *dest,char *data, ...) } if (!IS_LOCAL(dest)) return; - char textbuffer[MAXBUF],tb[MAXBUF]; + char textbuffer[MAXBUF]; va_list argsPtr; va_start (argsPtr, data); vsnprintf(textbuffer, MAXBUF, data, argsPtr); va_end(argsPtr); - chop(tb); + chop(textbuffer); // if no source given send it from the server. if (!source) diff --git a/src/inspircd_io.cpp b/src/inspircd_io.cpp index 5e5234635..10eeca525 100644 --- a/src/inspircd_io.cpp +++ b/src/inspircd_io.cpp @@ -881,9 +881,10 @@ int ServerConfig::EnumConf(std::stringstream *config, const char* tag) char buffer[MAXBUF], c_tag[MAXBUF], c, lastc; int in_token, in_quotes, tptr, idx = 0; - const char* buf = config->str().c_str(); + std::string x = config->str(); + const char* buf = x.c_str(); long bptr = 0; - long len = strlen(buf); + long len = config->str().length(); ptr = 0; in_token = 0; @@ -1050,7 +1051,8 @@ int ServerConfig::ReadConf(std::stringstream *config, const char* tag, const cha int in_token, in_quotes, tptr, idx = 0; char* key; - const char* buf = config->str().c_str(); + std::string x = config->str(); + const char* buf = x.c_str(); long bptr = 0; long len = config->str().length(); diff --git a/src/mode.cpp b/src/mode.cpp index 40ef66f0d..fc2e04b1e 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -1675,7 +1675,7 @@ void ModeParser::ServerMode(char **parameters, int pcnt, userrec *user) if (outpars[0]) { char b[MAXBUF]; - strlcpy(b,"",MAXBUF); + *b = 0; unsigned int z = 0; unsigned int i = 0; while (i < strlen (outpars)) @@ -1707,7 +1707,7 @@ void ModeParser::ServerMode(char **parameters, int pcnt, userrec *user) if ((!b[0]) || (!strcmp(b,"+")) || (!strcmp(b,"-"))) return; - if (strcmp(b,"")) + if (*b) { WriteTo(user, dest, "MODE %s :%s", dest->nick, b); FOREACH_MOD(I_OnMode,OnMode(user, dest, TYPE_USER, b)); diff --git a/src/socketengine.cpp b/src/socketengine.cpp index ec34bf74e..cec51c5d3 100644 --- a/src/socketengine.cpp +++ b/src/socketengine.cpp @@ -86,6 +86,7 @@ bool SocketEngine::AddFd(int fd, bool readable, char type) log(DEBUG,"Add socket %d",fd); #ifdef USE_EPOLL struct epoll_event ev; + memset(&ev,0,sizeof(struct epoll_event)); log(DEBUG,"epoll: Add socket to events, ep=%d socket=%d",EngineHandle,fd); readable ? ev.events = EPOLLIN : ev.events = EPOLLOUT; ev.data.fd = fd; @@ -138,6 +139,7 @@ bool SocketEngine::DelFd(int fd) #endif #ifdef USE_EPOLL struct epoll_event ev; + memset(&ev,0,sizeof(struct epoll_event)); ref[fd] && X_READBIT ? ev.events = EPOLLIN : ev.events = EPOLLOUT; ev.data.fd = fd; int i = epoll_ctl(EngineHandle, EPOLL_CTL_DEL, fd, &ev); |