]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Merge pull request #1423 from B00mX0r/master+override_umode
authorPeter Powell <petpow@saberuk.com>
Mon, 11 Dec 2017 11:14:25 +0000 (11:14 +0000)
committerGitHub <noreply@github.com>
Mon, 11 Dec 2017 11:14:25 +0000 (11:14 +0000)
Add optional oper override umode +O.

src/mode.cpp

index e2129b55a46ce03a9466d169b2bed3886c5d082b..c07c342a362d71211a0d7f0e351c27654e8c0244 100644 (file)
@@ -449,6 +449,12 @@ unsigned int ModeParser::ProcessSingle(User* user, Channel* targetchannel, User*
                Modes::Change& item = *i;
                ModeHandler* mh = item.mh;
 
+               // If a mode change has been given for a mode that does not exist then reject
+               // it. This can happen when core_reloadmodule attempts to restore a mode that
+               // no longer exists.
+               if (!mh)
+                       continue;
+
                // If the mode is supposed to have a parameter then we first take a look at item.param
                // and, if we were asked to, also handle mode merges now
                if (mh->NeedsParam(item.adding))