From bf3bfec6d58f566b98eb09ba0bf83d6a46ca400f Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Fri, 25 Dec 2020 03:46:43 +0000 Subject: [PATCH] Avoid doing more work than necessary when checking the O: extban. --- src/modules/m_operchans.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/modules/m_operchans.cpp b/src/modules/m_operchans.cpp index 072595269..f133d85f7 100644 --- a/src/modules/m_operchans.cpp +++ b/src/modules/m_operchans.cpp @@ -66,15 +66,10 @@ class ModuleOperChans : public Module if (!user->IsOper()) return MOD_RES_PASSTHRU; - // Check whether the oper's type matches the ban. - const std::string submask = mask.substr(2); - if (InspIRCd::Match(user->oper->name, submask)) - return MOD_RES_DENY; - - // If the oper's type contains spaces recheck with underscores. + // Replace spaces with underscores as they're prohibited in mode parameters. std::string opername(user->oper->name); stdalgo::string::replace_all(opername, space, underscore); - if (InspIRCd::Match(opername, submask)) + if (InspIRCd::Match(opername, mask.substr(2))) return MOD_RES_DENY; return MOD_RES_PASSTHRU; -- 2.39.2