diff options
Diffstat (limited to 'shlibs/blkid/src/partitions/sun.c')
-rw-r--r-- | shlibs/blkid/src/partitions/sun.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/shlibs/blkid/src/partitions/sun.c b/shlibs/blkid/src/partitions/sun.c index 4ff000f39..30fe4ea70 100644 --- a/shlibs/blkid/src/partitions/sun.c +++ b/shlibs/blkid/src/partitions/sun.c @@ -132,6 +132,7 @@ static int probe_sun_pt(blkid_probe pr, const struct blkid_idmag *mag) blkid_loff_t start; blkid_loff_t size; uint16_t type = infos ? be16_to_cpu(infos[i].id) : 0; + blkid_partition par; start = be32_to_cpu(p->start_cylinder) * spc; size = be32_to_cpu(p->num_sectors); @@ -139,8 +140,11 @@ static int probe_sun_pt(blkid_probe pr, const struct blkid_idmag *mag) if (type == SUN_TAG_WHOLEDISK || !size) continue; - if (!blkid_partlist_add_partition(ls, tab, type, start, size)) + par = blkid_partlist_add_partition(ls, tab, start, size); + if (!par) goto err; + + blkid_partition_set_type(par, type); } return 0; |