From f79e68168b43915167bb370e7f6857faaeb287d9 Mon Sep 17 00:00:00 2001 From: Hamid Reza Arzaghi Date: Mon, 31 Aug 2020 19:34:29 +0430 Subject: [PATCH] Add bound check assertion to valarray::operator[] --- stl/inc/valarray | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/stl/inc/valarray b/stl/inc/valarray index 087a5f37bb1..40b68df05ad 100644 --- a/stl/inc/valarray +++ b/stl/inc/valarray @@ -385,10 +385,18 @@ public: } _NODISCARD const _Ty& operator[](size_t _Off) const noexcept /* strengthened */ { +#if _CONTAINER_DEBUG_LEVEL > 0 + _STL_VERIFY(_Off < _Mysize, "valarray subscript out of range"); +#endif // _CONTAINER_DEBUG_LEVEL > 0 + return _Myptr[_Off]; } _NODISCARD _Ty& operator[](size_t _Off) noexcept /* strengthened */ { +#if _CONTAINER_DEBUG_LEVEL > 0 + _STL_VERIFY(_Off < _Mysize, "valarray subscript out of range"); +#endif // _CONTAINER_DEBUG_LEVEL > 0 + return _Myptr[_Off]; }