diff options
author | Adam <Adam@anope.org> | 2011-10-10 15:04:23 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-10-10 15:04:23 -0400 |
commit | 80f4f317b247ee3756fbc001495310b2f7c4e997 (patch) | |
tree | 3fd6abe3dbabe221e08999462b2b52c0687ec9fe /modules/database/db_sql.cpp | |
parent | 9f3d735d9d461e0cea042722ac1c6af98fe6560e (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.cpp | 5 |
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(); |