diff options
-rw-r--r-- | hw/s390x/s390-ccw.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c index ab7022a..5261e66 100644 --- a/hw/s390x/s390-ccw.c +++ b/hw/s390x/s390-ccw.c @@ -77,6 +77,7 @@ static void s390_ccw_get_dev_info(S390CCWDevice *cdev, { unsigned int cssid, ssid, devid; char dev_path[PATH_MAX] = {0}; + g_autofree char *tmp_dir = NULL; g_autofree char *tmp = NULL; if (!sysfsdev) { @@ -93,7 +94,8 @@ static void s390_ccw_get_dev_info(S390CCWDevice *cdev, cdev->mdevid = g_path_get_basename(dev_path); - tmp = g_path_get_basename(dirname(dev_path)); + tmp_dir = g_path_get_dirname(dev_path); + tmp = g_path_get_basename(tmp_dir); if (sscanf(tmp, "%2x.%1x.%4x", &cssid, &ssid, &devid) != 3) { error_setg_errno(errp, errno, "Failed to read %s", tmp); return; |