summaryrefslogtreecommitdiff
path: root/libparted/disk.c
diff options
context:
space:
mode:
Diffstat (limited to 'libparted/disk.c')
-rw-r--r--libparted/disk.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libparted/disk.c b/libparted/disk.c
index e1a3489..6c82877 100644
--- a/libparted/disk.c
+++ b/libparted/disk.c
@@ -1718,8 +1718,11 @@ ped_disk_next_partition (const PedDisk* disk, const PedPartition* part)
return part->part_list ? part->part_list : part->next;
if (part->next)
return part->next;
- if (part->type & PED_PARTITION_LOGICAL)
+ if (part->type & PED_PARTITION_LOGICAL) {
+ if (!ped_disk_extended_partition (disk))
+ return NULL;
return ped_disk_extended_partition (disk)->next;
+ }
return NULL;
}