X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_censor.cpp;h=69db8bbe6936d9c304be62c53e6dd161b0c14673;hb=1484a054870bdfe94346057053d5c8e48a708232;hp=246079c10cd347d2f336a652b816c6a8a646d740;hpb=53ebf157c53f6808cb042c5a6cc6edd06d394c98;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_censor.cpp b/src/modules/m_censor.cpp index 246079c10..69db8bbe6 100644 --- a/src/modules/m_censor.cpp +++ b/src/modules/m_censor.cpp @@ -43,6 +43,10 @@ class CensorUser : public ModeHandler ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding) { + /* Only opers can change other users modes */ + if ((source != dest) && (!*source->oper)) + return MODEACTION_DENY; + if (adding) { if (!dest->IsModeSet('G')) @@ -137,8 +141,8 @@ class ModuleCensor : public Module virtual ~ModuleCensor() { - delete cu; - delete cc; + DELETE(cu); + DELETE(cc); } virtual void ReplaceLine(irc::string &text, irc::string pattern, irc::string replace) @@ -249,4 +253,3 @@ extern "C" void * init_module( void ) { return new ModuleCensorFactory; } -