From dc9f2d4987c4f425f7b6e61485be306f18f5c28b Mon Sep 17 00:00:00 2001 From: Rene Gassmoeller Date: Wed, 29 May 2024 16:44:46 -0600 Subject: [PATCH] Check that composition type is valid --- source/simulator/introspection.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/simulator/introspection.cc b/source/simulator/introspection.cc index e7c0e0d220d..1db55da41c9 100644 --- a/source/simulator/introspection.cc +++ b/source/simulator/introspection.cc @@ -405,6 +405,8 @@ namespace aspect bool Introspection::composition_type_exists (const CompositionalFieldDescription::Type &type) const { + Assert(type < CompositionalFieldDescription::n_types, ExcInternalError()); + return composition_indices_for_type[type].size() > 0; } @@ -414,6 +416,8 @@ namespace aspect unsigned int Introspection::find_composition_type (const typename CompositionalFieldDescription::Type &type) const { + Assert(type < CompositionalFieldDescription::n_types, ExcInternalError()); + if (composition_indices_for_type[type].size() > 0) return composition_indices_for_type[type][0]; @@ -439,6 +443,7 @@ namespace aspect const std::vector & Introspection::get_indices_for_fields_of_type (const CompositionalFieldDescription::Type &type) const { + Assert(type < CompositionalFieldDescription::n_types, ExcInternalError()); return composition_indices_for_type[type]; } @@ -448,6 +453,7 @@ namespace aspect const std::vector & Introspection::get_names_for_fields_of_type (const CompositionalFieldDescription::Type &type) const { + Assert(type < CompositionalFieldDescription::n_types, ExcInternalError()); return composition_names_for_type[type]; } @@ -457,6 +463,7 @@ namespace aspect unsigned int Introspection::get_number_of_fields_of_type (const CompositionalFieldDescription::Type &type) const { + Assert(type < CompositionalFieldDescription::n_types, ExcInternalError()); return composition_indices_for_type[type].size(); }