summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-06-12 02:33:30 +0000
committerAdam <Adam@anope.org>2013-06-12 02:33:30 +0000
commit7dd358972a15f9911a0bcb6f5389679bbe8dde5a (patch)
tree996bb1f6fa491b893c8d71dc6771c64c96d07bf4 /src
parentd463ae3b1eb44085ad06193f403bc8ec67b34422 (diff)
Fix possible crash in Extensible::ExtensibleUnserialize if a null entry is in it
Diffstat (limited to 'src')
-rw-r--r--src/extensible.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/extensible.cpp b/src/extensible.cpp
index f408785e6..25fa7938c 100644
--- a/src/extensible.cpp
+++ b/src/extensible.cpp
@@ -82,8 +82,11 @@ void Extensible::ExtensibleUnserialize(Serialize::Data &data)
std::deque<Anope::string> list;
this->GetExtList(list);
for (unsigned i = 0; i < list.size(); ++i)
- if ((*extension_items)[list[i]]->Serialize())
+ {
+ ExtensibleItem *item = extension_items->at(list[i]);
+ if (item && item->Serialize())
this->Shrink(list[i]);
+ }
std::set<Anope::string> keys = data.KeySet();
for (std::set<Anope::string>::iterator it = keys.begin(), it_end = keys.end(); it != it_end; ++it)