From d56c3a561031fce5585651cd19475f47d9d15a76 Mon Sep 17 00:00:00 2001 From: Savva Mitrofanov Date: Fri, 12 May 2023 19:46:53 +0300 Subject: [PATCH] Ext4Pkg: Correct MSVC compilation MaxExtentsPerNode should be same type as eh_max uint16, because maximum count of extent header entries is 65535 Signed-off-by: Savva Mitrofanov --- Ext4Pkg/Ext4Dxe/Extents.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ext4Pkg/Ext4Dxe/Extents.c b/Ext4Pkg/Ext4Dxe/Extents.c index 2b82417c9e..b7373948a7 100644 --- a/Ext4Pkg/Ext4Dxe/Extents.c +++ b/Ext4Pkg/Ext4Dxe/Extents.c @@ -254,7 +254,7 @@ Ext4GetExtent ( EXT4_EXTENT_HEADER *ExtHeader; EXT4_EXTENT_INDEX *Index; EFI_STATUS Status; - UINT32 MaxExtentsPerNode; + UINT16 MaxExtentsPerNode; EXT4_BLOCK_NR BlockNumber; Inode = File->Inode; @@ -302,7 +302,7 @@ Ext4GetExtent ( // A single node fits into a single block, so we can only have (BlockSize / sizeof(EXT4_EXTENT)) - 1 // extents in a single node. Note the -1, because both leaf and internal node headers are 12 bytes, // and so are individual entries. - MaxExtentsPerNode = (Partition->BlockSize / sizeof (EXT4_EXTENT)) - 1; + MaxExtentsPerNode = (UINT16)((Partition->BlockSize / sizeof (EXT4_EXTENT)) - 1); while (ExtHeader->eh_depth != 0) { CurrentDepth--;