diff options
| author | oy <Tom_Adams@web.de> | 2010-08-05 20:34:16 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2010-08-05 20:34:16 +0200 |
| commit | 4a365d41b677e495f8658b20bad0a6dff41c747d (patch) | |
| tree | 824cf000c106d47af0eadb7ad420adbda246f3e9 | |
| parent | 665205327d0db5765de4b6d7576f7dad0be305a9 (diff) | |
| download | zcatch-4a365d41b677e495f8658b20bad0a6dff41c747d.tar.gz zcatch-4a365d41b677e495f8658b20bad0a6dff41c747d.zip | |
added fix for crash when there is no datadir
| -rw-r--r-- | src/engine/shared/kernel.cpp | 8 | ||||
| -rw-r--r-- | src/engine/shared/storage.cpp | 2 | ||||
| -rw-r--r-- | src/tools/map_resave.cpp | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/engine/shared/kernel.cpp b/src/engine/shared/kernel.cpp index 9f6850ba..059a0e48 100644 --- a/src/engine/shared/kernel.cpp +++ b/src/engine/shared/kernel.cpp @@ -45,6 +45,12 @@ public: virtual bool RegisterInterfaceImpl(const char *pName, IInterface *pInterface) { // TODO: More error checks here + if(!pInterface) + { + dbg_msg("kernel", "ERROR: couldn't register interface %s. null pointer given", pName); + return false; + } + if(m_NumInterfaces == MAX_INTERFACES) { dbg_msg("kernel", "ERROR: couldn't register interface '%s'. maximum of interfaces reached", pName); @@ -53,7 +59,7 @@ public: if(FindInterfaceInfo(pName) != 0) { - dbg_msg("kernel", "ERROR: couldn't register interface '%s'. interface already exists"); + dbg_msg("kernel", "ERROR: couldn't register interface '%s'. interface already exists", pName); return false; } diff --git a/src/engine/shared/storage.cpp b/src/engine/shared/storage.cpp index 6f2399d7..e8b0f8bb 100644 --- a/src/engine/shared/storage.cpp +++ b/src/engine/shared/storage.cpp @@ -197,7 +197,7 @@ public: static IStorage *Create(const char *pApplicationName, int NumArgs, const char **ppArguments) { CStorage *p = new CStorage(); - if(p->Init(pApplicationName, NumArgs, ppArguments)) + if(p && p->Init(pApplicationName, NumArgs, ppArguments)) { delete p; p = 0; diff --git a/src/tools/map_resave.cpp b/src/tools/map_resave.cpp index f300ac93..ce17e336 100644 --- a/src/tools/map_resave.cpp +++ b/src/tools/map_resave.cpp @@ -12,7 +12,7 @@ int main(int argc, const char **argv) CDataFileReader DataFile; CDataFileWriter df; - if(argc != 3) + if(!pStorage || argc != 3) return -1; str_format(aFileName, sizeof(aFileName), "maps/%s", argv[2]); |