summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/libs/serialization/src/basic_oarchive.cpp')
-rw-r--r--3rdParty/Boost/src/libs/serialization/src/basic_oarchive.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/libs/serialization/src/basic_oarchive.cpp b/3rdParty/Boost/src/libs/serialization/src/basic_oarchive.cpp
index 33f33f8..840955b 100644
--- a/3rdParty/Boost/src/libs/serialization/src/basic_oarchive.cpp
+++ b/3rdParty/Boost/src/libs/serialization/src/basic_oarchive.cpp
@@ -331,6 +331,12 @@ basic_oarchive_impl::save_pointer(
// makes a copy when passing a non-const to a const. This
// is permitted by the standard but rarely seen in practice
const class_name_type cn(key);
+ if(cn.size() > (BOOST_SERIALIZATION_MAX_KEY_SIZE - 1))
+ boost::serialization::throw_exception(
+ boost::archive::archive_exception(
+ boost::archive::archive_exception::
+ invalid_class_name)
+ );
// write out the external class identifier
ar.vsave(cn);
}