summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYi Zhao <yi.zhao@windriver.com>2025-07-20 21:42:14 +0800
committerKhem Raj <raj.khem@gmail.com>2025-07-20 13:09:40 -0700
commitf4bd933b301d6a2969a9c77ab7874d765eb6a312 (patch)
tree0f713c96f6c3215c1a52032939d95432425c5486
parent2de5071f9ac17338ea8a0ec0bbd451c5455166e9 (diff)
downloadmeta-openembedded-f4bd933b301d6a2969a9c77ab7874d765eb6a312.tar.gz
ufs-utils: fix crash for ufs-utils list_bsg
The full_path buffer in find_bsg_device function consists of: path + '/' + files->d_name + '\0' So the buffer size should be: strlen(path) + strlen(files->d_name) + 2, not: strlen(path) + strlen(files->d_name) + 1. Backport a patch to fix crash when running 32-bit binary on 64-bit system: $ ufs-utils list_bsg malloc(): invalid next size (unsorted) Aborted (core dumped) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-filesystems/recipes-utils/ufs-utils/files/0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch39
-rw-r--r--meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb1
2 files changed, 40 insertions, 0 deletions
diff --git a/meta-filesystems/recipes-utils/ufs-utils/files/0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch b/meta-filesystems/recipes-utils/ufs-utils/files/0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch
new file mode 100644
index 0000000000..7ae858a65e
--- /dev/null
+++ b/meta-filesystems/recipes-utils/ufs-utils/files/0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch
@@ -0,0 +1,39 @@
1From 989dcd297223d6896c5892532d14984326fa093d Mon Sep 17 00:00:00 2001
2From: Yi Zhao <yi.zhao@windriver.com>
3Date: Fri, 18 Jul 2025 16:52:57 +0800
4Subject: [PATCH] ufs_cmds: fix full_path buffer size in find_bsg_device
5
6The full_path buffer consists of: path + '/' + files->d_name + '\0'
7So the buffer size should be: strlen(path) + strlen(files->d_name) + 2
8
9Fix crash when running 32-bit binary on 64-bit system:
10$ ufs-utils list_bsg
11malloc(): invalid next size (unsorted)
12Aborted (core dumped)
13
14Fix #58
15
16Upstream-Status: Backport
17[https://github.com/SanDisk-Open-Source/ufs-utils/commit/989dcd297223d6896c5892532d14984326fa093d]
18
19Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
20---
21 ufs_cmds.c | 2 +-
22 1 file changed, 1 insertion(+), 1 deletion(-)
23
24diff --git a/ufs_cmds.c b/ufs_cmds.c
25index ddb037c..a6faa27 100644
26--- a/ufs_cmds.c
27+++ b/ufs_cmds.c
28@@ -1520,7 +1520,7 @@ static int find_bsg_device(char* path, int *counter) {
29 if ((strcmp(files->d_name, ".") != 0) &&
30 (strcmp(files->d_name, "..") != 0)) {
31 char *full_path = (char *)malloc(strlen(path) +
32- strlen(files->d_name) + 1);
33+ strlen(files->d_name) + 2);
34 sprintf(full_path, "%s/%s",
35 path, files->d_name);
36 rc = find_bsg_device(full_path, counter);
37--
382.34.1
39
diff --git a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb
index bcece228f5..0366654d7b 100644
--- a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb
+++ b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb
@@ -7,6 +7,7 @@ BRANCH ?= "dev"
7SRCREV = "dd2e655780424eadf7610de33e5966be19168a95" 7SRCREV = "dd2e655780424eadf7610de33e5966be19168a95"
8 8
9SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=https;branch=${BRANCH} \ 9SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=https;branch=${BRANCH} \
10 file://0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch \
10 " 11 "
11 12
12UPSTREAM_CHECK_COMMITS = "1" 13UPSTREAM_CHECK_COMMITS = "1"