summaryrefslogtreecommitdiff
path: root/modules/commands
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-11-25 22:37:54 -0500
committerAdam <Adam@anope.org>2012-11-25 22:37:54 -0500
commit1bdb756b258e2acce1db96584b540f452370e1a8 (patch)
tree7c4d048f987627cbec23c32d8bc961ed8278aba0 /modules/commands
parent80c573eed7c053f8bf5ef437eb948e821b8adc07 (diff)
Restrict the length of kick reasons in cs_kick, cs_ban, and cs_akick
Diffstat (limited to 'modules/commands')
-rw-r--r--modules/commands/cs_akick.cpp3
-rw-r--r--modules/commands/cs_ban.cpp5
-rw-r--r--modules/commands/cs_kick.cpp5
3 files changed, 11 insertions, 2 deletions
diff --git a/modules/commands/cs_akick.cpp b/modules/commands/cs_akick.cpp
index 29959bf32..9447b1aed 100644
--- a/modules/commands/cs_akick.cpp
+++ b/modules/commands/cs_akick.cpp
@@ -56,6 +56,9 @@ class CommandCSAKick : public Command
NickCore *nc = NULL;
const AutoKick *akick;
+ if (reason.length() > Config->CSReasonMax)
+ reason = reason.substr(0, Config->CSReasonMax);
+
if (!na)
{
Anope::string nick, user, host;
diff --git a/modules/commands/cs_ban.cpp b/modules/commands/cs_ban.cpp
index e857243f9..0fb65ecf6 100644
--- a/modules/commands/cs_ban.cpp
+++ b/modules/commands/cs_ban.cpp
@@ -27,7 +27,7 @@ class CommandCSBan : public Command
{
const Anope::string &chan = params[0];
const Anope::string &target = params[1];
- const Anope::string &reason = params.size() > 2 ? params[2] : "Requested";
+ Anope::string reason = params.size() > 2 ? params[2] : "Requested";
ChannelInfo *ci = ChannelInfo::Find(params[0]);
if (ci == NULL)
@@ -42,6 +42,9 @@ class CommandCSBan : public Command
AccessGroup u_access = source.AccessFor(ci);
+ if (reason.length() > Config->CSReasonMax)
+ reason = reason.substr(0, Config->CSReasonMax);
+
if (!c)
source.Reply(CHAN_X_NOT_IN_USE, chan.c_str());
else if (!u_access.HasPriv("BAN"))
diff --git a/modules/commands/cs_kick.cpp b/modules/commands/cs_kick.cpp
index 4073f3fe8..e02ab5185 100644
--- a/modules/commands/cs_kick.cpp
+++ b/modules/commands/cs_kick.cpp
@@ -27,7 +27,7 @@ class CommandCSKick : public Command
{
const Anope::string &chan = params[0];
const Anope::string &target = params[1];
- const Anope::string &reason = params.size() > 2 ? params[2] : "Requested";
+ Anope::string reason = params.size() > 2 ? params[2] : "Requested";
User *u = source.GetUser();
ChannelInfo *ci = ChannelInfo::Find(params[0]);
@@ -45,6 +45,9 @@ class CommandCSKick : public Command
return;
}
+ if (reason.length() > Config->CSReasonMax)
+ reason = reason.substr(0, Config->CSReasonMax);
+
AccessGroup u_access = source.AccessFor(ci);
if (!u_access.HasPriv("KICK"))