From bb4e43862127054f2b8744b9d8812cba78912bbb Mon Sep 17 00:00:00 2001 From: Robert Herndon Date: Sat, 29 Oct 2011 23:03:49 +0200 Subject: [PATCH] gpt: prepare for tables with n_partition_array_entries != 128 * libparted/labels/gpt.c (gpt_read_PE_array): When computing the size of the partition array entry, use the value of "number of partition array entries" read from a GPT header, not the default of 128 that we use when creating new headers. Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10173 --- libparted/labels/gpt.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c index 4c5f378..e239a2d 100644 --- a/libparted/labels/gpt.c +++ b/libparted/labels/gpt.c @@ -581,9 +581,8 @@ static void * gpt_read_PE_array (PedDisk const *disk, GuidPartitionTableHeader_t const *gpt, size_t *ptes_bytes) { - GPTDiskData *gpt_disk_data = disk->disk_specific; uint32_t p_ent_size = PED_LE32_TO_CPU (gpt->SizeOfPartitionEntry); - *ptes_bytes = p_ent_size * gpt_disk_data->entry_count; + *ptes_bytes = p_ent_size * PED_LE32_TO_CPU(gpt->NumberOfPartitionEntries); size_t ptes_sectors = ped_div_round_up (*ptes_bytes, disk->dev->sector_size); -- 2.11.0