diff options
author | Adam <Adam@anope.org> | 2013-06-12 02:33:30 +0000 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-06-12 02:33:30 +0000 |
commit | 7dd358972a15f9911a0bcb6f5389679bbe8dde5a (patch) | |
tree | 996bb1f6fa491b893c8d71dc6771c64c96d07bf4 /src | |
parent | d463ae3b1eb44085ad06193f403bc8ec67b34422 (diff) |
Fix possible crash in Extensible::ExtensibleUnserialize if a null entry is in it
Diffstat (limited to 'src')
-rw-r--r-- | src/extensible.cpp | 5 |
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) |