Permalink
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...
psychon committed Apr 9, 2012
1 parent 6876961 commit 9b6ea8251c5c6da99b44b32f87c3cfe14de3ae26
Showing with 4 additions and 3 deletions.
  1. +4 −3 src/WebModules.cpp
View
@@ -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");

0 comments on commit 9b6ea82

Please sign in to comment.