char *_name = strdup(name), *_parent = strdup(parent);
int len;
- if (!_name || !_parent)
+ if (!_name || !_parent) {
+ free(_name);
+ free(_parent);
return 0;
-
+ }
sysfs_devname_dev_to_sys(_name);
sysfs_devname_dev_to_sys(_parent);
return canonicalize_dm_name(cxt->name);
snprintf(path, sizeof(path), "/dev/%s", cxt->name);
+ sysfs_devname_sys_to_dev(path);
return xstrdup(path);
}
xasprintf(&p, "/dev/%s", name);
else
p = xstrdup(name);
+ if (p)
+ sysfs_devname_sys_to_dev(p);
return p;
}
cxt->name = xstrdup(name);
cxt->partition = wholedisk != NULL;
- /* make sure that the name is usable in paths */
- sysfs_devname_sys_to_dev(cxt->name);
-
cxt->filename = get_device_path(cxt);
if (!cxt->filename) {
warnx(_("%s: failed to get device path"), cxt->name);
}
}
- /* use "name" (sysfs-like name) here */
- cxt->npartitions = sysfs_count_partitions(&cxt->sysfs, name);
+ cxt->npartitions = sysfs_count_partitions(&cxt->sysfs, cxt->name);
cxt->nholders = sysfs_count_dirents(&cxt->sysfs, "holders");
cxt->nslaves = sysfs_count_dirents(&cxt->sysfs, "slaves");