diff options
author | Attila Molnar <attilamolnar@hush.com> | 2016-06-09 15:12:35 +0200 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2016-06-09 15:12:35 +0200 |
commit | 66f82ccf926aac39273bfc652c85c08080cc9a46 (patch) | |
tree | caedcd385eba7c6416dbb79e7924d06dc381adae /src/modules/m_sslinfo.cpp | |
parent | 61854caa5a7819b303c7b60e182b54c0a06b2fab (diff) |
Fix for GCC 6 rightfully optimizing out the NULL check of 'this' in ConfigTag::readString()
Checking is only necessary in ModuleSSLInfo::OnPostConnect() as oper types are not encountered in the other cases but check anyway to be sure
Diffstat (limited to 'src/modules/m_sslinfo.cpp')
-rw-r--r-- | src/modules/m_sslinfo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp index 2bfe0e1c4..083ac0f04 100644 --- a/src/modules/m_sslinfo.cpp +++ b/src/modules/m_sslinfo.cpp @@ -180,6 +180,9 @@ class ModuleSSLInfo : public Module if (i != ServerInstance->Config->oper_blocks.end()) { OperInfo* ifo = i->second; + if (!ifo->oper_block) + return MOD_RES_PASSTHRU; + ssl_cert* cert = cmd.CertExt.get(user); if (ifo->oper_block->getBool("sslonly") && !cert) @@ -220,6 +223,9 @@ class ModuleSSLInfo : public Module for(OperIndex::iterator i = ServerInstance->Config->oper_blocks.begin(); i != ServerInstance->Config->oper_blocks.end(); i++) { OperInfo* ifo = i->second; + if (!ifo->oper_block) + continue; + std::string fp = ifo->oper_block->getString("fingerprint"); if (fp == cert->fingerprint && ifo->oper_block->getBool("autologin")) user->Oper(ifo); |