]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd.cpp
Crash fixes when linking
[user/henk/code/inspircd.git] / src / inspircd.cpp
index b437340734a096b496c31e4b507ccfaceb91048d..267832127b3b2c41a3d0239ddcdcaa439f74e3b8 100644 (file)
@@ -6743,7 +6743,9 @@ void handle_link_packet(char* udp_msg, char* udp_host, serverrec *serv)
                                return;
                        }
                }
-               serv->SendPacket("E :Access is denied (no matching link block)",udp_host);
+               char buffer[MAXBUF];
+               sprintf(buffer,"E :Access is denied (no matching link block)");
+               serv->SendPacket(buffer,udp_host);
                WriteOpers("CONNECT from %s denied, no matching link block",servername);
                return;
        }
@@ -6795,7 +6797,9 @@ void handle_link_packet(char* udp_msg, char* udp_host, serverrec *serv)
                                                {
                                                        strcpy(servers[j]->description,serverdesc);
                                                        DoSync(serv,udp_host);
-                                                       serv->SendPacket("X 0",udp_host);
+                                                       char buffer[MAXBUF];
+                                                       sprintf(buffer,"X 0");
+                                                       serv->SendPacket(buffer,udp_host);
                                                        return;
                                                }
                                        }
@@ -6807,7 +6811,9 @@ void handle_link_packet(char* udp_msg, char* udp_host, serverrec *serv)
                                log(DEBUG,"Server names '%s' and '%s' don't match",Link_ServerName,servername);
                        }
                }
-               serv->SendPacket("E :Access is denied (no matching link block)",udp_host);
+               char buffer[MAXBUF];
+               sprintf(buffer,"E :Access is denied (no matching link block)");
+               serv->SendPacket(buffer,udp_host);
                WriteOpers("CONNECT from %s denied, no matching link block",servername);
                return;
        }
@@ -7082,14 +7088,14 @@ int InspIRCd(void)
      
                for (int x = 0; x != UDPportCount; x++)
                {
-                       string_list msgs;
+                       std::deque<std::string> msgs;
                        msgs.clear();
                        if (me[x]->RecvPacket(msgs, udp_host))
                        {
                                for (int ctr = 0; ctr < msgs.size(); ctr++)
                                {
                                        char udp_msg[MAXBUF];
-                                       strncpy(udp_msg,MAXBUF,msgs[ctr].c_str());
+                                       strncpy(udp_msg,msgs[ctr].c_str(),MAXBUF);
                                        if (strlen(udp_msg)<1)
                                        {
                                                log(DEBUG,"Invalid string from %s [route%d]",udp_host,x);
@@ -7101,7 +7107,6 @@ int InspIRCd(void)
                                goto label;
                        }
                }
-       }
        
 
        while (count2 != clientlist.end())