mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-30 11:44:32 +03:00
Creating a std::string with a null pointer is undefined behaviour.
- cppreference mentions this about the constructor that receives a const char *: - Constructs the string with the contents initialized with a copy of the null-terminated character string pointed to by s. The length of the string is determined by the first null character. The behavior is undefined if [s, s + Traits::length(s)) is not a valid range (for example, if s is a null pointer). - C++23 introduces a deleted constructor to prevent this in static scenarios, which is how this issue was detected.
This commit is contained in:
@@ -48,7 +48,7 @@ std::string UrlEncode::url_enc(const char *input,
|
||||
len = input_len * 3 + 1;
|
||||
d = rval = reinterpret_cast<char *>(malloc(len));
|
||||
if (rval == NULL) {
|
||||
return NULL;
|
||||
return {};
|
||||
}
|
||||
|
||||
/* ENH Only encode the characters that really need to be encoded. */
|
||||
|
Reference in New Issue
Block a user