Limit number of sectors that can be addressed.

MFC after:	1 week
This commit is contained in:
Andrey V. Elsukov 2011-05-08 12:28:13 +00:00
parent 7d3ddebe0a
commit f30b6bcb60

View file

@ -198,9 +198,7 @@ g_part_vtoc8_create(struct g_part_table *basetable, struct g_part_parms *gpp)
table = (struct g_part_vtoc8_table *)basetable;
msize = pp->mediasize / pp->sectorsize;
if (msize > 0xffffffffu)
msize = 0xffffffffu;
msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX);
table->secpercyl = basetable->gpt_sectors * basetable->gpt_heads;
pcyls = msize / table->secpercyl;
acyls = 2;
@ -392,8 +390,7 @@ g_part_vtoc8_read(struct g_part_table *basetable, struct g_consumer *cp)
bcopy(buf, &table->vtoc, sizeof(table->vtoc));
g_free(buf);
msize = pp->mediasize / pp->sectorsize;
msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX);
sectors = be16dec(&table->vtoc.nsecs);
if (sectors < 1)
goto invalid_label;