X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_channel%2Fcmd_invite.cpp;h=c26318337597d389f9491697904ceb7d800a4b31;hb=f400d5f394a258dee58fb56420acd65e22503761;hp=1b480aa20051481c1862cb585c2edae9810f7b5f;hpb=c6e40d36b42a7ebf832c3a57d2816a47ee9c9a76;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_channel/cmd_invite.cpp b/src/coremods/core_channel/cmd_invite.cpp index 1b480aa20..c26318337 100644 --- a/src/coremods/core_channel/cmd_invite.cpp +++ b/src/coremods/core_channel/cmd_invite.cpp @@ -51,9 +51,17 @@ CmdResult CommandInvite::Handle(User* user, const Params& parameters) if (parameters.size() >= 3) { if (IS_LOCAL(user)) - timeout = ServerInstance->Time() + InspIRCd::Duration(parameters[2]); + { + unsigned long duration; + if (!InspIRCd::Duration(parameters[2], duration)) + { + user->WriteNotice("*** Invalid duration for invite"); + return CMD_FAILURE; + } + timeout = ServerInstance->Time() + duration; + } else if (parameters.size() > 3) - timeout = ConvToInt(parameters[3]); + timeout = ConvToNum(parameters[3]); } if (!c) @@ -75,7 +83,7 @@ CmdResult CommandInvite::Handle(User* user, const Params& parameters) return CMD_INVALID; // Drop the invite if our channel TS is lower - time_t RemoteTS = ConvToInt(parameters[2]); + time_t RemoteTS = ConvToNum(parameters[2]); if (c->age < RemoteTS) return CMD_FAILURE; }