mirror of
https://github.com/espressif/openthread.git
synced 2026-09-15 21:50:08 +00:00
[string] return 0 if nullptr is passed to StringLength (#9886)
This commit ensures that segfault won't happen if `nullptr` is passed to `StringLength()`. Signed-off-by: Maciej Baczmanski <[email protected]>
This commit is contained in:
@@ -89,13 +89,16 @@ exit:
|
||||
|
||||
uint16_t StringLength(const char *aString, uint16_t aMaxLength)
|
||||
{
|
||||
uint16_t ret;
|
||||
uint16_t ret = 0;
|
||||
|
||||
for (ret = 0; (ret < aMaxLength) && (aString[ret] != kNullChar); ret++)
|
||||
VerifyOrExit(aString != nullptr);
|
||||
|
||||
for (; (ret < aMaxLength) && (aString[ret] != kNullChar); ret++)
|
||||
{
|
||||
// Empty loop.
|
||||
}
|
||||
|
||||
exit:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -85,8 +85,8 @@ static constexpr char kNullChar = '\0'; ///< null character.
|
||||
* @param[in] aString A pointer to the string.
|
||||
* @param[in] aMaxLength The maximum length in bytes.
|
||||
*
|
||||
* @returns The number of characters that precede the terminating null character or @p aMaxLength, whichever is
|
||||
* smaller.
|
||||
* @returns The number of characters that precede the terminating null character or @p aMaxLength,
|
||||
* whichever is smaller. `0` if @p aString is `nullptr`.
|
||||
*
|
||||
*/
|
||||
uint16_t StringLength(const char *aString, uint16_t aMaxLength);
|
||||
|
||||
Reference in New Issue
Block a user