Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

WebModules: Fix a NULL pointer dereference

Commit b159323 started using the module pointer before the NULL
check. This caused crashes whenever someone (even without a login!) accessed a
web page on znc for a module which didn't exist.

Thanks to J0rd4n` for reporting this to us.

Signed-off-by: Uli Schlachter <psychon@znc.in>
  • Loading branch information...
commit 9b6ea8251c5c6da99b44b32f87c3cfe14de3ae26 1 parent 6876961
@psychon psychon authored
Showing with 4 additions and 3 deletions.
  1. +4 −3 src/WebModules.cpp
View
7 src/WebModules.cpp
@@ -686,12 +686,13 @@ CWebSock::EPageReqResult CWebSock::OnPageRequestInternal(const CString& sURI, CS
break;
}
+ if (!pModule)
+ return PAGE_NOTFOUND;
+
m_Template["ModPath"] = pModule->GetWebPath();
m_Template["ModFilesPath"] = pModule->GetWebFilesPath();
- if (!pModule) {
- return PAGE_NOTFOUND;
- } else if (pModule->WebRequiresLogin() && !ForceLogin()) {
+ if (pModule->WebRequiresLogin() && !ForceLogin()) {
return PAGE_PRINT;
} else if (pModule->WebRequiresAdmin() && !GetSession()->IsAdmin()) {
PrintErrorPage(403, "Forbidden", "You need to be an admin to access this module");
Please sign in to comment.
Something went wrong with that request. Please try again.