summaryrefslogtreecommitdiff
path: root/src/scripting/script.cpp
diff options
context:
space:
mode:
authorGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-08-20 09:09:32 +0000
committerGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-08-20 09:09:32 +0000
commit298916773ff3b80112cbac6c2ff6d41e7e280db1 (patch)
treea4162bd1db097c74e7a2d9242095c4e5032e457e /src/scripting/script.cpp
parent71b183077492e4f9e78bb09d1f1c55d98f60c416 (diff)
downloadmanaserv-298916773ff3b80112cbac6c2ff6d41e7e280db1.tar.gz
manaserv-298916773ff3b80112cbac6c2ff6d41e7e280db1.tar.bz2
manaserv-298916773ff3b80112cbac6c2ff6d41e7e280db1.tar.xz
manaserv-298916773ff3b80112cbac6c2ff6d41e7e280db1.zip
Prevented access to uninitialized engines.
Diffstat (limited to 'src/scripting/script.cpp')
-rw-r--r--src/scripting/script.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/scripting/script.cpp b/src/scripting/script.cpp
index 3e19305d..9666b213 100644
--- a/src/scripting/script.cpp
+++ b/src/scripting/script.cpp
@@ -47,13 +47,16 @@ void Script::registerEngine(std::string const &name, Factory f)
Script *Script::create(std::string const &engine)
{
- Engines::const_iterator i = engines->find(engine);
- if (i == engines->end())
+ if (engines)
{
- LOG_ERROR("No scripting engine named " << engine);
- return NULL;
+ Engines::const_iterator i = engines->find(engine);
+ if (i != engines->end())
+ {
+ return i->second();
+ }
}
- return i->second();
+ LOG_ERROR("No scripting engine named " << engine);
+ return NULL;
}
void Script::update()