avoid potential UB when using isprint()
all the ctype.h functions' argument must be representable as an unsigned char or as EOF, otherwise the behavior is undefined. ref. https://git.suckless.org/st/commit/af3bb68add1c40d19d0dee382009e21b0870a38f.html
This commit is contained in:
parent
fb0b76b0ff
commit
addd5e9749
2
st.c
2
st.c
@ -397,7 +397,7 @@ static const char base64_digits[] = {
|
|||||||
char
|
char
|
||||||
base64dec_getc(const char **src)
|
base64dec_getc(const char **src)
|
||||||
{
|
{
|
||||||
while (**src && !isprint(**src))
|
while (**src && !isprint((unsigned char)**src))
|
||||||
(*src)++;
|
(*src)++;
|
||||||
return **src ? *((*src)++) : '='; /* emulate padding if string ends */
|
return **src ? *((*src)++) : '='; /* emulate padding if string ends */
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user