summaryrefslogtreecommitdiff
path: root/src/config.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2016-01-19 16:25:02 -0500
committerAdam <Adam@anope.org>2016-01-19 16:25:02 -0500
commit164b349ef9cfbc0f275333b60b0786848ce0f2e7 (patch)
tree114794e4954cf8924f926f09f02f7ff69b984be4 /src/config.cpp
parent4771af1cb89cd5d9a983d83e108b9fb8de9b5f52 (diff)
Fix various inconsistencies/crashes related to having multiple opers configured for the same user through combinations of os_oper/config/m_sql_oper
Diffstat (limited to 'src/config.cpp')
-rw-r--r--src/config.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/config.cpp b/src/config.cpp
index 18a6c5d39..b6972bc42 100644
--- a/src/config.cpp
+++ b/src/config.cpp
@@ -502,6 +502,13 @@ Conf::Conf() : Block("")
if (!na)
continue;
+ if (!na->nc || na->nc->o)
+ {
+ // If the account is already an oper it might mean two oper blocks for the same nick, or
+ // something else has configured them as an oper (like a module)
+ continue;
+ }
+
na->nc->o = o;
Log() << "Tied oper " << na->nc->display << " to type " << o->ot->GetName();
}