diff options
Diffstat (limited to 'shlibs/blkid/src/partitions')
-rw-r--r-- | shlibs/blkid/src/partitions/partitions.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/shlibs/blkid/src/partitions/partitions.c b/shlibs/blkid/src/partitions/partitions.c index 2ac297a1c..060461d27 100644 --- a/shlibs/blkid/src/partitions/partitions.c +++ b/shlibs/blkid/src/partitions/partitions.c @@ -892,16 +892,20 @@ blkid_partition blkid_partlist_devno_to_partition(blkid_partlist ls, dev_t devno { struct sysfs_cxt sysfs; uint64_t start, size; - int i; + int i, rc; if (sysfs_init(&sysfs, devno, NULL)) return NULL; - start = sysfs_read_u64(&sysfs, "start"); - size = sysfs_read_u64(&sysfs, "size"); + rc = sysfs_read_u64(&sysfs, "start", &start); + if (!rc) + rc = sysfs_read_u64(&sysfs, "size", &size); sysfs_deinit(&sysfs); + if (rc) + return NULL; + for (i = 0; i < ls->nparts; i++) { blkid_partition par = &ls->parts[i]; |