summaryrefslogtreecommitdiff
path: root/modules/database/db_sql.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-10-10 15:04:23 -0400
committerAdam <Adam@anope.org>2011-10-10 15:04:23 -0400
commit80f4f317b247ee3756fbc001495310b2f7c4e997 (patch)
tree3fd6abe3dbabe221e08999462b2b52c0687ec9fe /modules/database/db_sql.cpp
parent9f3d735d9d461e0cea042722ac1c6af98fe6560e (diff)
Put serialized_items on the heap to prevent weird crashes on shutdown from the list being destructed before members in it
Diffstat (limited to 'modules/database/db_sql.cpp')
-rw-r--r--modules/database/db_sql.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/modules/database/db_sql.cpp b/modules/database/db_sql.cpp
index 43e7cfe6d..d411d8b6d 100644
--- a/modules/database/db_sql.cpp
+++ b/modules/database/db_sql.cpp
@@ -113,8 +113,11 @@ class DBSQL : public Module
return EVENT_CONTINUE;
}
+ if (serialized_items == NULL)
+ return EVENT_CONTINUE;
+
std::map<Anope::string, SerializableBase::serialized_data> table_layout;
- for (std::list<SerializableBase *>::iterator it = serialized_items.begin(), it_end = serialized_items.end(); it != it_end; ++it)
+ for (std::list<SerializableBase *>::iterator it = serialized_items->begin(), it_end = serialized_items->end(); it != it_end; ++it)
{
SerializableBase *base = *it;
SerializableBase::serialized_data data = base->serialize();