mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-10-06 19:19:41 +00:00
pc-bios/s390-ccw: Clean up harmless misuse of isdigit()
atoui() and get_index() pass char values to isdigit(). With a standard isdigit(), we'd get undefined behavior when the value is negative. Can't happen as char is unsigned on s390x. Even if it ould, we're actually using isdigit() from pc-bios/s390-ccw/libc.h here, which works fine for negative values. Clean up anyway, just to avoid setting a bad example. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20190418145355.21100-6-armbru@redhat.com> [thuth: updated the commit message] Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
a6f6d24757
commit
d796588ba1
|
@ -38,7 +38,7 @@ uint64_t atoui(const char *str)
|
||||||
}
|
}
|
||||||
|
|
||||||
while (*str) {
|
while (*str) {
|
||||||
if (!isdigit(*str)) {
|
if (!isdigit(*(unsigned char *)str)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
val = val * 10 + *str - '0';
|
val = val * 10 + *str - '0';
|
||||||
|
|
|
@ -134,7 +134,7 @@ static int get_index(void)
|
||||||
|
|
||||||
/* Check for erroneous input */
|
/* Check for erroneous input */
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
if (!isdigit(buf[i])) {
|
if (!isdigit((unsigned char)buf[i])) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue