linklen = readlink(temppath, slavepath, PATH_MAX - 1);
if (linklen < 0) {
perror("readlink() for slave device.");
+ closedir(dirhandle);
return;
}
slavepath[linklen] = '\0';
sprintf(temppath, "%s/%s/dev", slavesdir, slavepath);
if (read_block_dev_entry(temppath, &majdev, &mindev)) {
perror("Error getting slave device numbers.");
+ closedir(dirhandle);
return;
}
sfree(du);
return NULL;
}
- strncpy((char *) du->dus.name, basename(path), FIO_DU_NAME_SZ);
+ strncpy((char *) du->dus.name, basename(path) - 1, FIO_DU_NAME_SZ);
du->sysfs_root = path;
du->major = majdev;
du->minor = mindev;