X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_shun.cpp;h=6453ace81485958a0060e4c4d28adbc2d4a3202f;hb=f2e3fd5952b23209b084bde4f464e6643c8a00ff;hp=da090e4f870af5b3e3c2ff5b81b083a6b4867865;hpb=b2ac8cc0a6405946a388b80df3be21bc276a61f3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp index da090e4f8..6453ace81 100644 --- a/src/modules/m_shun.cpp +++ b/src/modules/m_shun.cpp @@ -35,7 +35,7 @@ class ShunFactory : public XLineFactory /** Generate a shun */ - XLine* Generate(time_t set_time, long duration, std::string source, std::string reason, std::string xline_specific_mask) CXX11_OVERRIDE + XLine* Generate(time_t set_time, unsigned long duration, const std::string& source, const std::string& reason, const std::string& xline_specific_mask) CXX11_OVERRIDE { return new Shun(set_time, duration, source, reason, xline_specific_mask); } @@ -90,7 +90,11 @@ class CommandShun : public Command std::string expr; if (parameters.size() > 2) { - duration = InspIRCd::Duration(parameters[1]); + if (!InspIRCd::Duration(parameters[1], duration)) + { + user->WriteNotice("*** Invalid duration for SHUN."); + return CMD_FAILURE; + } expr = parameters[2]; } else @@ -118,7 +122,7 @@ class CommandShun : public Command else { delete r; - user->WriteNotice("*** Shun for " + target + " already exists"); + user->WriteNotice("*** Shun for " + target + " already exists."); return CMD_FAILURE; } }