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 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 keys = data.KeySet(); for (std::set::iterator it = keys.begin(), it_end = keys.end(); it != it_end; ++it)