summaryrefslogtreecommitdiff
path: root/src/modulemanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modulemanager.cpp')
-rw-r--r--src/modulemanager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp
index a8cfbd547..661519ca4 100644
--- a/src/modulemanager.cpp
+++ b/src/modulemanager.cpp
@@ -157,6 +157,13 @@ ModuleReturn ModuleManager::LoadModule(const Anope::string &modname, User *u)
}
#else
Anope::string pbuf = Anope::ModuleDir + "/modules/" + modname.replace_all_cs("/", "_") + ".so";
+
+ struct stat s;
+ if (stat(pbuf.c_str(), &s) == -1 || !S_ISREG(s.st_mode))
+ {
+ Anope::Logger.Terminal(_("Error while loading {0} (file does not exist)"), modname);
+ return ModuleReturn::NOEXIST;
+ }
#endif
dlerror();