summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libsysfs/sysfs_device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libsysfs/sysfs_device.c b/libsysfs/sysfs_device.c
index fbd046f229..2a5353e6f7 100644
--- a/libsysfs/sysfs_device.c
+++ b/libsysfs/sysfs_device.c
@@ -28,6 +28,7 @@ static int confirm_device_bus(struct sysfs_device *dev,
{
struct sysfs_link *devlink = NULL;
unsigned char devpath[SYSFS_PATH_MAX];
+ unsigned char *s = NULL;
int result = 0;
if (busname == NULL || bus_id == NULL)
@@ -36,6 +37,9 @@ static int confirm_device_bus(struct sysfs_device *dev,
if (sysfs_get_mnt_path(devpath, SYSFS_PATH_MAX) != 0)
return -1;
+ s = &devpath[strlen(devpath)-1];
+ if (strncmp(s, "/", 1) == 0)
+ *s = '\0';
strcat(devpath, SYSFS_BUS_DIR);
strcat(devpath, "/");
strcat(devpath, busname);