mirror of
https://github.com/inspircd/inspircd.git
synced 2025-04-01 13:50:04 -04:00
Because the iterator can be whacked (and the item) inside of SetBan, make copies
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4921 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
57b6e22c08
commit
39f81682b1
@ -166,9 +166,9 @@ class ModuleTimedBans : public Module
|
|||||||
{
|
{
|
||||||
cr->WriteChannelWithServ(ServerInstance->Config->ServerName, "NOTICE %s :Timed ban on %s expired.", cr->name, i->mask.c_str());
|
cr->WriteChannelWithServ(ServerInstance->Config->ServerName, "NOTICE %s :Timed ban on %s expired.", cr->name, i->mask.c_str());
|
||||||
const char *setban[3];
|
const char *setban[3];
|
||||||
setban[0] = i->channel.c_str();
|
setban[0] = strdup(i->channel.c_str());
|
||||||
setban[1] = "-b";
|
setban[1] = "-b";
|
||||||
setban[2] = i->mask.c_str();
|
setban[2] = strdup(i->mask.c_str());
|
||||||
// kludge alert!
|
// kludge alert!
|
||||||
// ::SendMode expects a userrec* to send the numeric replies
|
// ::SendMode expects a userrec* to send the numeric replies
|
||||||
// back to, so we create it a fake user that isnt in the user
|
// back to, so we create it a fake user that isnt in the user
|
||||||
@ -179,12 +179,14 @@ class ModuleTimedBans : public Module
|
|||||||
ServerInstance->SendMode(setban,3,temp);
|
ServerInstance->SendMode(setban,3,temp);
|
||||||
/* FIX: Send mode remotely*/
|
/* FIX: Send mode remotely*/
|
||||||
std::deque<std::string> n;
|
std::deque<std::string> n;
|
||||||
n.push_back(i->channel);
|
n.push_back(setban[0]);
|
||||||
n.push_back("-b");
|
n.push_back("-b");
|
||||||
n.push_back(i->mask);
|
n.push_back(setban[2]);
|
||||||
Event rmode((char *)&n, NULL, "send_mode");
|
Event rmode((char *)&n, NULL, "send_mode");
|
||||||
rmode.Send(ServerInstance);
|
rmode.Send(ServerInstance);
|
||||||
DELETE(temp);
|
DELETE(temp);
|
||||||
|
free(setban[0]);
|
||||||
|
free(setban[2]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user