1
0
Fork 0
util-linux/debian/patches/upstream-stable/fdisk-partx-avoid-strcasecmp-for-ASCII-only-strings.patch
Daniel Baumann 070ab789ab
Adding debian version 2.41-5.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 11:26:36 +02:00

71 lines
2.2 KiB
Diff

From: Karel Zak <kzak@redhat.com>
Date: Tue, 1 Apr 2025 17:45:01 +0200
Subject: fdisk,partx: 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 <kzak@redhat.com>
(cherry picked from commit 7efdcd75f041fa1cb9a7c05e22dea3567d48bf9e)
---
disk-utils/cfdisk.c | 3 ++-
disk-utils/fdisk-list.h | 4 +++-
disk-utils/partx.c | 2 +-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c
index d4057ee..d0bb57a 100644
--- a/disk-utils/cfdisk.c
+++ b/disk-utils/cfdisk.c
@@ -53,6 +53,7 @@
#endif
#include "c.h"
+#include "cctype.h"
#include "closestream.h"
#include "nls.h"
#include "widechar.h"
@@ -2507,7 +2508,7 @@ static int main_menu_action(struct cfdisk *cf, int key)
buf, sizeof(buf));
ref = 1;
- if (rc <= 0 || (strcasecmp(buf, "yes") != 0 &&
+ if (rc <= 0 || (c_strcasecmp(buf, "yes") != 0 &&
strcasecmp(buf, _("yes")) != 0)) {
info = _("Did not write partition table to disk.");
break;
diff --git a/disk-utils/fdisk-list.h b/disk-utils/fdisk-list.h
index 1839301..8e5ea58 100644
--- a/disk-utils/fdisk-list.h
+++ b/disk-utils/fdisk-list.h
@@ -11,6 +11,8 @@
#ifndef UTIL_LINUX_FDISK_LIST_H
#define UTIL_LINUX_FDISK_LIST_H
+#include "cctype.h"
+
extern void list_disklabel(struct fdisk_context *cxt);
extern void list_disk_identifier(struct fdisk_context *cxt);
extern void list_disk_geometry(struct fdisk_context *cxt);
@@ -51,7 +53,7 @@ static inline int wipemode_from_string(const char *str)
return -EINVAL;
for (i = 0; i < ARRAY_SIZE(modes); i++) {
- if (strcasecmp(str, modes[i]) == 0)
+ if (c_strcasecmp(str, modes[i]) == 0)
return i;
}
diff --git a/disk-utils/partx.c b/disk-utils/partx.c
index b0d552c..49d5061 100644
--- a/disk-utils/partx.c
+++ b/disk-utils/partx.c
@@ -162,7 +162,7 @@ static int column_name_to_id(const char *name, size_t namesz)
for (i = 0; i < NCOLS; i++) {
const char *cn = infos[i].name;
- if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+ if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
return i;
}
warnx(_("unknown column: %s"), name);