From 3378001b9bff52120725234afe2e625798871625 Mon Sep 17 00:00:00 2001 From: nogitsune-youkai Date: Mon, 28 Sep 2026 22:02:08 +0300 Subject: [PATCH] Fix: Add asserts to prevent undefined behavior on empty containers --- src/util/stack_vector.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/util/stack_vector.hpp b/src/util/stack_vector.hpp index 87749396b..3c506f160 100644 --- a/src/util/stack_vector.hpp +++ b/src/util/stack_vector.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -74,6 +75,7 @@ namespace util { } void pop_back() noexcept { + assert(!empty() && "pop_back() called on empty stack_vector"); if (size_ > 0) { data_.ptr()[size_ - 1].~T(); --size_; @@ -110,18 +112,22 @@ namespace util { } T& front() { + assert(!empty() && "front() called on empty stack_vector"); return data_.ptr()[0]; } T& back() { + assert(!empty() && "back() called on empty stack_vector"); return data_.ptr()[size_ - 1]; } const T& front() const { + assert(!empty() && "front() called on empty stack_vector"); return data_.ptr()[0]; } const T& back() const { + assert(!empty() && "back() called on empty stack_vector"); return data_.ptr()[size_ - 1]; }