diff options
| author | Adam <Adam@anope.org> | 2014-03-04 04:14:17 -0500 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2014-03-04 04:15:32 -0500 |
| commit | 09bec79b473fad40268f7b25b92c4979563829c4 (patch) | |
| tree | e5e70c2fd3c6bfbcdb3fbd571c3c0191741b3caa /modules/commands | |
| parent | 55a5affcb8251c6ef677d78ea848dc8d26b90471 (diff) | |
Fix 2 crashes from removing the permanent channel mode from channels which do not exist
Diffstat (limited to 'modules/commands')
| -rw-r--r-- | modules/commands/cs_mode.cpp | 4 | ||||
| -rw-r--r-- | modules/commands/cs_set.cpp | 6 |
2 files changed, 2 insertions, 8 deletions
diff --git a/modules/commands/cs_mode.cpp b/modules/commands/cs_mode.cpp index db5eecbb3..a13610d23 100644 --- a/modules/commands/cs_mode.cpp +++ b/modules/commands/cs_mode.cpp @@ -902,9 +902,9 @@ class CSMode : public Module } } - void OnCheckModes(Channel *c) anope_override + void OnCheckModes(Reference<Channel> &c) anope_override { - if (!c->ci) + if (!c || !c->ci) return; ModeLocks *locks = modelocks.Get(c->ci); diff --git a/modules/commands/cs_set.cpp b/modules/commands/cs_set.cpp index bb8232808..1109c888e 100644 --- a/modules/commands/cs_set.cpp +++ b/modules/commands/cs_set.cpp @@ -1289,12 +1289,6 @@ class CSSet : public Module { if (c->ci) persist.Unset(c->ci); - - if (c->CheckDelete()) - { - delete c; - return EVENT_STOP; - } } if (c->ci && mode->type != MODE_STATUS && !c->syncing && Me->IsSynced()) |
