about summary refs log tree commit diff
path: root/src/engine/shared
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2010-08-05 20:34:16 +0200
committeroy <Tom_Adams@web.de>2010-08-05 20:34:16 +0200
commit4a365d41b677e495f8658b20bad0a6dff41c747d (patch)
tree824cf000c106d47af0eadb7ad420adbda246f3e9 /src/engine/shared
parent665205327d0db5765de4b6d7576f7dad0be305a9 (diff)
downloadzcatch-4a365d41b677e495f8658b20bad0a6dff41c747d.tar.gz
zcatch-4a365d41b677e495f8658b20bad0a6dff41c747d.zip
added fix for crash when there is no datadir
Diffstat (limited to 'src/engine/shared')
-rw-r--r--src/engine/shared/kernel.cpp8
-rw-r--r--src/engine/shared/storage.cpp2
2 files changed, 8 insertions, 2 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;