From 8221c170391b9e0888d19be82cb3790a640d67ce Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 11 Jun 2026 19:56:19 +0200 Subject: kstd: improve basic_string null checks --- libs/kstd/kstd/bits/basic_string.hpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libs/kstd/kstd/bits/basic_string.hpp b/libs/kstd/kstd/bits/basic_string.hpp index c13b821..e55bfbb 100644 --- a/libs/kstd/kstd/bits/basic_string.hpp +++ b/libs/kstd/kstd/bits/basic_string.hpp @@ -1082,11 +1082,21 @@ namespace kstd [[nodiscard]] constexpr friend auto operator==(basic_string const & lhs, const_pointer rhs) noexcept -> bool { + if (rhs == nullptr) + { + os::panic("Tried to compare a string with nullptr"); + } + return lhs == std::basic_string_view{rhs}; } [[nodiscard]] constexpr friend auto operator==(const_pointer lhs, basic_string const & rhs) noexcept -> bool { + if (rhs == nullptr) + { + os::panic("Tried to compare a string with nullptr"); + } + return std::basic_string_view{lhs} == rhs; } @@ -1109,11 +1119,21 @@ namespace kstd [[nodiscard]] constexpr friend auto operator<=>(basic_string const & lhs, const_pointer rhs) noexcept { + if (rhs == nullptr) + { + os::panic("Tried to compare a string with nullptr"); + } + return lhs <=> std::basic_string_view{rhs}; } [[nodiscard]] constexpr friend auto operator<=>(const_pointer lhs, basic_string const & rhs) noexcept { + if (rhs == nullptr) + { + os::panic("Tried to compare a string with nullptr"); + } + return std::basic_string_view{lhs} <=> rhs; } -- cgit v1.2.3