]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/mode.cpp
Release v3.0.0 alpha 5.
[user/henk/code/inspircd.git] / 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))