From 49b0cc6ba2b64ec502c9dcd244a5cd34f2c5d3c3 Mon Sep 17 00:00:00 2001 From: Stephen Cheng 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 --- libnvme/src/nvme/tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libnvme/src/nvme/tree.c b/libnvme/src/nvme/tree.c index 3d841553b3..2c7a9c066d 100644 --- a/libnvme/src/nvme/tree.c +++ b/libnvme/src/nvme/tree.c @@ -145,9 +145,9 @@ int nvme_host_get_ids(struct nvme_global_ctx *ctx, h = nvme_first_host(ctx); 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 */