39 lines
1.2 KiB
Diff
39 lines
1.2 KiB
Diff
From d65b44cd0a2cde7aba895c7c9f9c9fff198ead99 Mon Sep 17 00:00:00 2001
|
|
From: Stephen Cheng <stephen.cheng@citrix.com>
|
|
Date: Thu, 20 Nov 2025 13:11:03 +0800
|
|
Subject: [PATCH] tree: Fix potential NULL pointer dereference in
|
|
nvme_host_get_ids()
|
|
|
|
The nvme_host_get_hostid() and nvme_host_get_hostnqn() functions can
|
|
return NULL when the host configuration is incomplete or invalid. Using
|
|
strdup() directly on these return values causes a segmentation fault
|
|
when NULL is passed to strdup().
|
|
|
|
Replace strdup() calls with xstrdup() to safely handle NULL input
|
|
values.
|
|
|
|
Signed-off-by: Stephen Cheng <stephen.cheng@citrix.com>
|
|
---
|
|
src/nvme/tree.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/nvme/tree.c b/src/nvme/tree.c
|
|
index bc836487..c363cd13 100644
|
|
--- a/src/nvme/tree.c
|
|
+++ b/src/nvme/tree.c
|
|
@@ -145,9 +145,9 @@ int nvme_host_get_ids(nvme_root_t r,
|
|
h = nvme_first_host(r);
|
|
if (h) {
|
|
if (!hid)
|
|
- hid = strdup(nvme_host_get_hostid(h));
|
|
+ hid = xstrdup(nvme_host_get_hostid(h));
|
|
if (!hnqn)
|
|
- hnqn = strdup(nvme_host_get_hostnqn(h));
|
|
+ hnqn = xstrdup(nvme_host_get_hostnqn(h));
|
|
}
|
|
|
|
/* /etc/nvme/hostid and/or /etc/nvme/hostnqn */
|
|
--
|
|
2.54.0
|
|
|