diff --git a/src/import/generic/memory/lib/utils/mss_field.H b/src/import/generic/memory/lib/utils/mss_field.H index e345b14b6..346fd75d5 100644 --- a/src/import/generic/memory/lib/utils/mss_field.H +++ b/src/import/generic/memory/lib/utils/mss_field.H @@ -184,7 +184,7 @@ inline fapi2::ReturnCode get_field(const fapi2::Target& i_target, OT& o_value) { const size_t BYTE = F.get_byte(i_data); - FAPI_TRY(check::index_within_bounds(i_target, BYTE, i_data, i_ffdc_codes)); + FAPI_TRY(check::index_within_bounds(i_target, BYTE, i_data.size(), i_ffdc_codes)); { // clear out stale state @@ -233,7 +233,7 @@ inline fapi2::ReturnCode set_field(const fapi2::Target& i_target, { const size_t BYTE = F.get_byte(io_data); - FAPI_TRY(check::index_within_bounds(i_target, BYTE, io_data, i_ffdc_codes)); + FAPI_TRY(check::index_within_bounds(i_target, BYTE, io_data.size(), i_ffdc_codes)); FAPI_TRY(check::invalid_type_conversion(i_target, i_setting, i_ffdc_codes)); { diff --git a/src/import/generic/memory/lib/utils/mss_generic_check.H b/src/import/generic/memory/lib/utils/mss_generic_check.H index e6a5c4c98..7ad6b484c 100644 --- a/src/import/generic/memory/lib/utils/mss_generic_check.H +++ b/src/import/generic/memory/lib/utils/mss_generic_check.H @@ -289,32 +289,30 @@ fapi_try_exit: /// @brief Checks conditional passes and implements traces & exits if it fails /// @tparam T fapi2 target type /// @tparam IT index type -/// @tparam VT vector data type +/// @tparam ST size type /// @tparam FFDC error callout code type /// @param[in] i_target fapi2 target /// @param[in] i_index desired vector index -/// @param[in] i_data vector data +/// @param[in] i_size size of the list we are comparing /// @param[in] i_ffdc_codes FFDC code /// @param[in] i_err_str error string - defaulted to "" /// @return FAPI2_RC_SUCCESS iff okay /// -template< fapi2::TargetType T, typename IT, typename VT, typename FFDC > +template< fapi2::TargetType T, typename IT, typename ST, typename FFDC > fapi2::ReturnCode index_within_bounds(const fapi2::Target& i_target, const IT i_index, - const std::vector& i_data, + const ST i_size, const FFDC i_ffdc_codes, const char* i_err_str = "") { - const auto l_size = i_data.size(); - - FAPI_ASSERT( i_index < l_size, + FAPI_ASSERT( i_index < i_size, fapi2::MSS_OUT_OF_BOUNDS_INDEXING() .set_INDEX(i_index) - .set_LIST_SIZE(l_size) + .set_LIST_SIZE(i_size) .set_FUNCTION(i_ffdc_codes) .set_TARGET(i_target), "%s. Out of bounds indexing (with %d) on a list of size %d for " TARGTIDFORMAT, - i_err_str, i_index, l_size, TARGTID ); + i_err_str, i_index, i_size, TARGTID ); return fapi2::FAPI2_RC_SUCCESS;