From c2499405ea60facb37eff1cb9eb90b0678ee8c41 Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pauli.t.virtanen@jyu.fi>
Date: Tue, 2 Aug 2022 17:38:25 +0300
Subject: [PATCH] array: more checks

---
 src/array.hpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/array.hpp b/src/array.hpp
index 025f2ff..6aef4d6 100644
--- a/src/array.hpp
+++ b/src/array.hpp
@@ -89,6 +89,11 @@ public:
             std::array<size_t, NDim> stride;
             size_t offset;
 
+#ifndef NO_BOUNDS_CHECK
+            if (end < begin || begin >= shape[axis] || end > shape[axis])
+                throw std::out_of_range("begin/end indices out of bounds");
+#endif
+
             offset = offset_ + stride_[axis] * begin;
 
             for (size_t i = 0; i < NDim; ++i) {
-- 
GitLab