diff --git a/AK/StringView.h b/AK/StringView.h index faeacefb09..56f35d4088 100644 --- a/AK/StringView.h +++ b/AK/StringView.h @@ -26,6 +26,8 @@ #pragma once +#include +#include #include #include #include @@ -36,16 +38,18 @@ class StringView { public: using ConstIterator = const char*; - StringView() {} + StringView() { } StringView(const char* characters, size_t length) : m_characters(characters) , m_length(length) { + ASSERT(!Checked::addition_would_overflow((uintptr_t)characters, length)); } StringView(const unsigned char* characters, size_t length) : m_characters((const char*)characters) , m_length(length) { + ASSERT(!Checked::addition_would_overflow((uintptr_t)characters, length)); } [[gnu::always_inline]] inline StringView(const char* cstring) : m_characters(cstring)