>-----Original Message-----
>From: Cédric Le Goater <c...@redhat.com>
>Subject: [PATCH] vfio/container: Replace basename with
>g_path_get_basename
>
>g_path_get_basename() is a portable utility function that has the
>advantage of not modifing the string argument. It also fixes a compile
>breakage with the Musl C library reported in [1].
>
>[1] https://lore.kernel.org/all/20231212010228.2701544-1-
>raj.k...@gmail.com/
>
>Reported-by: Khem Raj <raj.k...@gmail.com>
>Signed-off-by: Cédric Le Goater <c...@redhat.com>

Reviewed-by: Zhenzhong Duan <zhenzhong.d...@intel.com>

Thanks
Zhenzhong
>---
> hw/vfio/container.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
>diff --git a/hw/vfio/container.c b/hw/vfio/container.c
>index
>688cf23bab88f85246378bc5a7da3c51ea6b79d9..8d334f52f2438d05f63250
>2e07ffd4dc2ec76cb5 100644
>--- a/hw/vfio/container.c
>+++ b/hw/vfio/container.c
>@@ -869,7 +869,8 @@ static void vfio_put_base_device(VFIODevice
>*vbasedev)
>
> static int vfio_device_groupid(VFIODevice *vbasedev, Error **errp)
> {
>-    char *tmp, group_path[PATH_MAX], *group_name;
>+    char *tmp, group_path[PATH_MAX];
>+    g_autofree char *group_name = NULL;
>     int ret, groupid;
>     ssize_t len;
>
>@@ -885,7 +886,7 @@ static int vfio_device_groupid(VFIODevice
>*vbasedev, Error **errp)
>
>     group_path[len] = 0;
>
>-    group_name = basename(group_path);
>+    group_name = g_path_get_basename(group_path);
>     if (sscanf(group_name, "%d", &groupid) != 1) {
>         error_setg_errno(errp, errno, "failed to read %s", group_path);
>         return -errno;
>--
>2.43.0

Reply via email to