diff --git a/platform-intel.c b/platform-intel.c index 30f7914..1e62e87 100644 --- a/platform-intel.c +++ b/platform-intel.c @@ -91,7 +91,9 @@ struct sys_dev *find_driver_devices(const char *bus, const char *driver) /* generate canonical path name for the device */ sprintf(path, "/sys/bus/%s/drivers/%s/%s", bus, driver, de->d_name); - list->path = canonicalize_file_name(path); + list->path = malloc(PATH_MAX); + if (list->path) + realpath(path, list->path); list->next = NULL; } closedir(driver_dir); @@ -207,9 +209,9 @@ const struct imsm_orom *find_imsm_orom(void) char *devt_to_devpath(dev_t dev) { char device[46]; - + char *tmp = malloc(PATH_MAX); sprintf(device, "/sys/dev/block/%d:%d/device", major(dev), minor(dev)); - return canonicalize_file_name(device); + return tmp ? realpath(device, tmp) : NULL; } static char *diskfd_to_devpath(int fd)