From: Karel Zak Date: Tue, 1 Apr 2025 17:45:01 +0200 Subject: libblkid: avoid strcasecmp() for ASCII-only strings Use cctype.h for locale-independent string comparison and to avoid tricky string conversions like in tr_TR locales. Signed-off-by: Karel Zak (cherry picked from commit 7eb663503c77d739f2cc80d78ee9d380b11b6eb9) --- libblkid/src/config.c | 3 ++- libblkid/src/partitions/partitions.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libblkid/src/config.c b/libblkid/src/config.c index dcc18f2..934d28d 100644 --- a/libblkid/src/config.c +++ b/libblkid/src/config.c @@ -29,6 +29,7 @@ #include "blkidP.h" #include "env.h" +#include "cctype.h" static int parse_evaluate(struct blkid_config *conf, char *s) { @@ -94,7 +95,7 @@ static int parse_next(FILE *fd, struct blkid_config *conf) if (!strncmp(s, "SEND_UEVENT=", 12)) { s += 12; - if (*s && !strcasecmp(s, "yes")) + if (*s && !c_strcasecmp(s, "yes")) conf->uevent = TRUE; else if (*s) conf->uevent = FALSE; diff --git a/libblkid/src/partitions/partitions.c b/libblkid/src/partitions/partitions.c index 07a5d1a..9df813c 100644 --- a/libblkid/src/partitions/partitions.c +++ b/libblkid/src/partitions/partitions.c @@ -23,6 +23,7 @@ #include "partitions.h" #include "sysfs.h" #include "strutils.h" +#include "cctype.h" /** * SECTION: partitions @@ -1044,7 +1045,7 @@ blkid_partition blkid_partlist_devno_to_partition(blkid_partlist ls, dev_t devno tmp = uuid; prefix = uuid ? strsep(&tmp, "-") : NULL; - if (prefix && strncasecmp(prefix, "part", 4) == 0) { + if (prefix && c_strncasecmp(prefix, "part", 4) == 0) { char *end = NULL; errno = 0;