summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/database/db_redis.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/database/db_redis.cpp b/modules/database/db_redis.cpp
index 5dfb6accf..4db4e723a 100644
--- a/modules/database/db_redis.cpp
+++ b/modules/database/db_redis.cpp
@@ -215,6 +215,18 @@ class DatabaseRedis : public Module, public Pipe
{
Serialize::Type *t = obj->GetSerializableType();
+ if (t == NULL)
+ {
+ /* This is probably the module providing the type unloading.
+ *
+ * The types get registered after the extensible container is
+ * registered so that unserialization on module load can insert
+ * into the extensible container. So, the type destructs prior to
+ * the extensible container, which then triggers this
+ */
+ return;
+ }
+
std::vector<Anope::string> args;
args.push_back("HGETALL");
args.push_back("hash:" + t->GetName() + ":" + stringify(obj->id));