Skip to content

Commit 8c298e1

Browse files
kuqin12mergify[bot]
authored andcommitted
BaseTools: GenFfs/GenFv/GenSec: Fixing Warning 4319 from MSVC
This change fixes a warning newly emitted by the latest MSVC, which now treats this warning as an error and causes the build to fail. This change aligns operand types in bitwise expressions by casting sizeof results to UINT32, and promoting a UINT32 to UINTN where required to correctly apply the bitmask. Signed-off-by: Kun Qin <[email protected]>
1 parent 0a3cb1c commit 8c298e1

3 files changed

Lines changed: 3 additions & 3 deletions

File tree

BaseTools/Source/C/GenFfs/GenFfs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ Routine Description:
398398
// Based on section type to adjust offset? Todo
399399
//
400400
if ((InputFileAlign [Index] != 0) && (((Size + HeaderSize + TeOffset) % InputFileAlign [Index]) != 0)) {
401-
Offset = (Size + sizeof (EFI_COMMON_SECTION_HEADER) + HeaderSize + TeOffset + InputFileAlign [Index] - 1) & ~(InputFileAlign [Index] - 1);
401+
Offset = (Size + (UINT32)sizeof (EFI_COMMON_SECTION_HEADER) + HeaderSize + TeOffset + InputFileAlign [Index] - 1) & ~(InputFileAlign [Index] - 1);
402402
Offset = Offset - Size - HeaderSize - TeOffset;
403403

404404
if (FileBuffer != NULL && ((Size + Offset) < *BufferLength)) {

BaseTools/Source/C/GenFv/GenFvInternalLib.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3176,7 +3176,7 @@ Routine Description:
31763176
//
31773177
// Only EFI_FFS_FILE_HEADER is needed for a pad section.
31783178
//
3179-
CurrentOffset = (CurrentOffset + FfsHeaderSize + sizeof(EFI_FFS_FILE_HEADER) + FfsAlignment - 1) & ~(FfsAlignment - 1);
3179+
CurrentOffset = (CurrentOffset + FfsHeaderSize + sizeof(EFI_FFS_FILE_HEADER) + FfsAlignment - 1) & ~(UINTN)(FfsAlignment - 1);
31803180
CurrentOffset -= FfsHeaderSize;
31813181
}
31823182
}

BaseTools/Source/C/GenSec/GenSec.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ Routine Description:
538538
// make sure section data meet its alignment requirement by adding one raw pad section.
539539
//
540540
if ((InputFileAlign [Index] != 0) && (((Size + HeaderSize + TeOffset) % InputFileAlign [Index]) != 0)) {
541-
Offset = (Size + sizeof (EFI_COMMON_SECTION_HEADER) + HeaderSize + TeOffset + InputFileAlign [Index] - 1) & ~(InputFileAlign [Index] - 1);
541+
Offset = (Size + (UINT32)sizeof (EFI_COMMON_SECTION_HEADER) + HeaderSize + TeOffset + InputFileAlign [Index] - 1) & ~(InputFileAlign [Index] - 1);
542542
Offset = Offset - Size - HeaderSize - TeOffset;
543543

544544
if (FileBuffer != NULL && ((Size + Offset) < *BufferLength)) {

0 commit comments

Comments
 (0)