strutils: fix unsigned integer overflows [AddressSanitizer]
include/strutils.h:174:10: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long') include/strutils.h:178:6: runtime error: unsigned integer overflow: 18446744073709551615 + 1 cannot be represented in type 'size_t' (aka 'unsigned long') Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
parent
737532efe5
commit
2f8610ee95
|
@ -171,11 +171,14 @@ static inline size_t rtrim_whitespace(unsigned char *str)
|
|||
{
|
||||
size_t i = strlen((char *) str);
|
||||
|
||||
while (i--) {
|
||||
if (!isspace(str[i]))
|
||||
while (i) {
|
||||
i--;
|
||||
if (!isspace(str[i])) {
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
str[++i] = '\0';
|
||||
str[i] = '\0';
|
||||
return i;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue