Usage of isspace and friends
From: Morten Welinder <hidden>
Date: 2016-06-15 22:42:08
From: Morten Welinder <hidden>
Date: 2016-06-15 22:42:08
Someone needs to audit the usage of isspace, tolower, and friends. There are
things like this in the code:
static int is_dev_null(const char *str)
{
return !memcmp("/dev/null", str, 9) && isspace(str[9]);
}
Since str[9] is of type char it should not be used as a argument to
isspace directly,
but rather be cast to unsigned char:
... isspace((unsigned char)str[9]);
Admittedly that is ugly. Blame K&R. (Glibc has a partial workaround for this
kind of coding bug. On the up side you won't get a crash, but on the down
side you can get the wrong result.)
Morten