Thomas Heijligen has submitted this change. ( https://review.coreboot.org/c/flashrom/+/66548 )
Change subject: layout.c: Cast argument of isspace() to unsigned char ......................................................................
layout.c: Cast argument of isspace() to unsigned char
These functions [isspace, etc] check whether c [(the argument)], which must have the value of an unsigned char or EOF, falls into a certain character class according to the current locale.
Cast the argument from `char` to `unsigned char` to guarantee that we don't pass illegal negative values. Some implementations actually provide a warning to get heads up[1].
[1] https://man.netbsd.org/ctype.3#CAVEATS
TEST=Builds on Cygwin (Windows 10, amd64, gcc 11.3.0)
Change-Id: Ia48d5a19b0964bc28e5360edf06bdf287dad5945 Signed-off-by: Thomas Heijligen thomas.heijligen@secunet.com Reviewed-on: https://review.coreboot.org/c/flashrom/+/66548 Reviewed-by: Nico Huber nico.h@gmx.de Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Angel Pons th3fanbus@gmail.com Reviewed-by: Anastasia Klimchuk aklm@chromium.org --- M layout.c 1 file changed, 28 insertions(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, but someone else must approve Angel Pons: Looks good to me, but someone else must approve Anastasia Klimchuk: Looks good to me, approved
diff --git a/layout.c b/layout.c index 39f504a..5916d66 100644 --- a/layout.c +++ b/layout.c @@ -312,7 +312,7 @@ entry->file = strdup(entry->name);
for (i = 0; entry->file[i]; ++i) { - if (isspace(entry->file[i])) + if (isspace((unsigned char)entry->file[i])) entry->file[i] = '_'; } }