Vlv2TbltDevicePkg/FvbRuntimeDxe: correct NumOfLba vararg type in EraseBlocks()

According to the PI spec, Volume 3,
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks():

> The variable argument list is a list of tuples. Each tuple describes a
> range of LBAs to erase and consists of the following:
> * An EFI_LBA that indicates the starting LBA
> * A UINTN that indicates the number of blocks to erase

(NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.)

In this driver, the NumOfLba local variable is defined with type UINTN,
but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch.

Cc: David Wei <david.wei@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Mang Guo <mang.guo@intel.com>
Reported-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Laszlo Ersek 2017-05-18 23:04:27 +08:00 committed by zwei4
parent 687bde9cac
commit aff463c825
2 changed files with 4 additions and 4 deletions

View File

@ -793,7 +793,7 @@ FvbProtocolEraseBlocks (
break;
}
NumOfLba = VA_ARG (args, UINT32);
NumOfLba = VA_ARG (args, UINTN);
//
// Check input parameters.
@ -817,7 +817,7 @@ FvbProtocolEraseBlocks (
break;
}
NumOfLba = VA_ARG (args, UINT32);
NumOfLba = VA_ARG (args, UINTN);
while ( NumOfLba > 0 ) {
Status = FvbEraseBlock (FvbDevice->Instance, StartingLba);

View File

@ -725,7 +725,7 @@ FvbEraseBlocks (
break;
}
NumOfLba = VA_ARG (Marker, UINT32);
NumOfLba = VA_ARG (Marker, UINTN);
if (NumOfLba == 0) {
return EFI_INVALID_PARAMETER;
}
@ -742,7 +742,7 @@ FvbEraseBlocks (
if (StartingLba == EFI_LBA_LIST_TERMINATOR ) {
break;
}
NumOfLba = VA_ARG (Marker, UINT32);
NumOfLba = VA_ARG (Marker, UINTN);
Status = EraseBlock (This, StartingLba, NumOfLba);
if (EFI_ERROR (Status)) {
break;