summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/inspsocket.cpp4
-rw-r--r--src/modules/m_http_client.cpp3
-rw-r--r--src/modules/m_ident.cpp1
-rw-r--r--src/modules/m_spanningtree/resolvers.cpp3
4 files changed, 6 insertions, 5 deletions
diff --git a/src/inspsocket.cpp b/src/inspsocket.cpp
index 96f07b6e4..e43da50a5 100644
--- a/src/inspsocket.cpp
+++ b/src/inspsocket.cpp
@@ -186,7 +186,7 @@ bool InspSocket::BindAddr(const std::string &ip)
in6_addr n;
if (inet_pton(AF_INET6, IP.c_str(), &n) > 0)
{
- memcpy(&((sockaddr_in6*)s)->sin6_addr, &n, sizeof(n));
+ memcpy(&((sockaddr_in6*)s)->sin6_addr, &n, sizeof(sockaddr_in6));
((sockaddr_in6*)s)->sin6_port = 0;
((sockaddr_in6*)s)->sin6_family = AF_INET6;
size = sizeof(sockaddr_in6);
@@ -284,7 +284,7 @@ bool InspSocket::DoConnect()
if (inet_pton(AF_INET6, this->host, &addy) > 0)
{
((sockaddr_in6*)addr)->sin6_family = AF_INET6;
- memcpy(&((sockaddr_in6*)addr)->sin6_addr, &addy, sizeof(addy));
+ memcpy(&((sockaddr_in6*)addr)->sin6_addr, &addy, sizeof(sockaddr_in6));
((sockaddr_in6*)addr)->sin6_port = htons(this->port);
size = sizeof(sockaddr_in6);
}
diff --git a/src/modules/m_http_client.cpp b/src/modules/m_http_client.cpp
index 7e1b94f11..aa97242e0 100644
--- a/src/modules/m_http_client.cpp
+++ b/src/modules/m_http_client.cpp
@@ -64,7 +64,8 @@ class HTTPResolver : public Resolver
void OnError(ResolverError e, const string &errmsg)
{
- delete socket;
+ if (ServerInstance->SocketCull.find(socket) == ServerInstance->SocketCull.end())
+ ServerInstance->SocketCull[socket] = socket;
}
};
diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp
index 732c2eaee..3e2da1be7 100644
--- a/src/modules/m_ident.cpp
+++ b/src/modules/m_ident.cpp
@@ -279,7 +279,6 @@ class ModuleIdent : public Module
// to NULL and check it so that we dont write users who have gone away.
ident->u = NULL;
ServerInstance->SE->DelFd(ident);
- //delete ident;
}
if (user->GetExt("IDENT", identstr))
{
diff --git a/src/modules/m_spanningtree/resolvers.cpp b/src/modules/m_spanningtree/resolvers.cpp
index ac14833a5..972b36366 100644
--- a/src/modules/m_spanningtree/resolvers.cpp
+++ b/src/modules/m_spanningtree/resolvers.cpp
@@ -69,7 +69,8 @@ void ServernameResolver::OnLookupComplete(const std::string &result, unsigned in
{
/* Something barfed, show the opers */
ServerInstance->SNO->WriteToSnoMask('l',"CONNECT: Error connecting \002%s\002: %s.",MyLink.Name.c_str(),strerror(errno));
- delete newsocket;
+ if (ServerInstance->SocketCull.find(newsocket) == ServerInstance->SocketCull.end())
+ ServerInstance->SocketCull[newsocket] = newsocket;
Utils->DoFailOver(&MyLink);
}
}