mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
Use Uint32x32To64() function instead of ULONG * ULONG. Fixes partition length truncation.
See issue #1871 for more details. svn path=/trunk/; revision=24769
This commit is contained in:
@@ -1583,7 +1583,8 @@ IoReadPartitionTable(IN PDEVICE_OBJECT DeviceObject,
|
||||
/* Get the starting offset */
|
||||
PartitionInfo->StartingOffset.QuadPart =
|
||||
StartOffset +
|
||||
GET_STARTING_SECTOR(PartitionDescriptor) * SectorSize;
|
||||
UInt32x32To64(GET_STARTING_SECTOR(PartitionDescriptor),
|
||||
SectorSize);
|
||||
|
||||
/* Calculate the number of hidden sectors */
|
||||
PartitionInfo->HiddenSectors = (PartitionInfo->
|
||||
@@ -1593,7 +1594,8 @@ IoReadPartitionTable(IN PDEVICE_OBJECT DeviceObject,
|
||||
|
||||
/* Get the partition length */
|
||||
PartitionInfo->PartitionLength.QuadPart =
|
||||
GET_PARTITION_LENGTH(PartitionDescriptor) * SectorSize;
|
||||
UInt32x32To64(GET_PARTITION_LENGTH(PartitionDescriptor),
|
||||
SectorSize);
|
||||
|
||||
/* FIXME: REACTOS HACK */
|
||||
PartitionInfo->PartitionNumber = i + 1;
|
||||
@@ -1637,8 +1639,9 @@ IoReadPartitionTable(IN PDEVICE_OBJECT DeviceObject,
|
||||
{
|
||||
/* Get its offset */
|
||||
Offset.QuadPart = VolumeOffset.QuadPart +
|
||||
GET_STARTING_SECTOR(PartitionDescriptor) *
|
||||
SectorSize;
|
||||
UInt32x32To64(
|
||||
GET_STARTING_SECTOR(PartitionDescriptor),
|
||||
SectorSize);
|
||||
|
||||
/* If this is a primary partition, this is the volume offset */
|
||||
if (IsPrimary) VolumeOffset = Offset;
|
||||
|
||||
Reference in New Issue
Block a user