diff --git a/include/internal/catch_stringref.cpp b/include/internal/catch_stringref.cpp index 60a522ec..f82e60c3 100644 --- a/include/internal/catch_stringref.cpp +++ b/include/internal/catch_stringref.cpp @@ -27,6 +27,13 @@ namespace Catch { return s_emptyStringRef; } + char const* enforceNonNull(char const* ptr) { + if (ptr == nullptr) { + std::abort(); + } + return ptr; + } + } StringRef::StringRef() noexcept @@ -47,10 +54,8 @@ namespace Catch { } StringRef::StringRef(char const* rawChars) noexcept - : m_start(rawChars), - m_size( (rawChars != nullptr)? - (static_cast(std::strlen(rawChars))): - throw std::domain_error("Cannot create StringRef from nullptr")) + : m_start( enforceNonNull(rawChars) ), + m_size( static_cast(std::strlen(rawChars))) {} StringRef::StringRef( char const* rawChars, size_type size ) noexcept