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>
break;\r
}\r
\r
- NumOfLba = VA_ARG (args, UINT32);\r
+ NumOfLba = VA_ARG (args, UINTN);\r
\r
//\r
// Check input parameters.\r
break;\r
}\r
\r
- NumOfLba = VA_ARG (args, UINT32);\r
+ NumOfLba = VA_ARG (args, UINTN);\r
\r
while ( NumOfLba > 0 ) {\r
Status = FvbEraseBlock (FvbDevice->Instance, StartingLba);\r
break;\r
}\r
\r
- NumOfLba = VA_ARG (Marker, UINT32);\r
+ NumOfLba = VA_ARG (Marker, UINTN);\r
if (NumOfLba == 0) {\r
return EFI_INVALID_PARAMETER;\r
}\r
if (StartingLba == EFI_LBA_LIST_TERMINATOR ) {\r
break;\r
}\r
- NumOfLba = VA_ARG (Marker, UINT32);\r
+ NumOfLba = VA_ARG (Marker, UINTN);\r
Status = EraseBlock (This, StartingLba, NumOfLba);\r
if (EFI_ERROR (Status)) {\r
break;\r