V3: Remove one unnecessay type cast in patch 1.
Codes:
if (FilePosition + ExtentLength > ReadFileInfo->FilePosition) {
Offset = ReadFileInfo->FilePosition - FilePosition;
if (Offset < 0) {
Offset = -(Offset)
}
...
}
offset is UINT64 can not < 0, so the code logic may have some issue.
and Offset = -(Offset) may build failure in some circumstance.
previously type case Offset to INT64 to fix build block. Now remove
the type cast. Then can to check the code logic later.
Cc: Eric Dong <eric.dong@intel.com>
Cc: Paulo Alcantara <pcacjr@zytor.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
.../Universal/Disk/UdfDxe/FileSystemOperations.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
index 7d7f722..5c5b5e3 100644
--- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
+++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
@@ -470,11 +470,11 @@ DuplicateFid (
OUT UDF_FILE_IDENTIFIER_DESCRIPTOR **NewFileIdentifierDesc
)
{
*NewFileIdentifierDesc =
(UDF_FILE_IDENTIFIER_DESCRIPTOR *)AllocateCopyPool (
- GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);
+ (UINTN) GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);
}
//
// Duplicate either a given File Entry or a given Extended File Entry.
//
@@ -807,20 +807,20 @@ GetAedAdsData (
}
//
// Allocate buffer to read in AED's data.
//
- *Data = AllocatePool (*Length);
+ *Data = AllocatePool ((UINTN) (*Length));
if (*Data == NULL) {
return EFI_OUT_OF_RESOURCES;
}
return DiskIo->ReadDisk (
DiskIo,
BlockIo->Media->MediaId,
Offset,
- *Length,
+ (UINTN) (*Length),
*Data
);
}
//
@@ -842,11 +842,11 @@ GrowUpBufferToNextAd (
*Buffer = AllocatePool (ExtentLength);
if (*Buffer == NULL) {
return EFI_OUT_OF_RESOURCES;
}
} else {
- *Buffer = ReallocatePool (Length, Length + ExtentLength, *Buffer);
+ *Buffer = ReallocatePool ((UINTN) Length, (UINTN) (Length + ExtentLength), *Buffer);
if (*Buffer == NULL) {
return EFI_OUT_OF_RESOURCES;
}
}
@@ -931,29 +931,29 @@ ReadFile (
ReadFileInfo->ReadLength = Length;
} else if (ReadFileInfo->Flags == READ_FILE_ALLOCATE_AND_READ) {
//
// Allocate buffer for starting read data.
//
- ReadFileInfo->FileData = AllocatePool (Length);
+ ReadFileInfo->FileData = AllocatePool ((UINTN) Length);
if (ReadFileInfo->FileData == NULL) {
return EFI_OUT_OF_RESOURCES;
}
//
// Read all inline data into ReadFileInfo->FileData
//
- CopyMem (ReadFileInfo->FileData, Data, Length);
+ CopyMem (ReadFileInfo->FileData, Data, (UINTN) Length);
ReadFileInfo->ReadLength = Length;
} else if (ReadFileInfo->Flags == READ_FILE_SEEK_AND_READ) {
//
// If FilePosition is non-zero, seek file to FilePosition, read
// FileDataSize bytes and then updates FilePosition.
//
CopyMem (
ReadFileInfo->FileData,
(VOID *)((UINT8 *)Data + ReadFileInfo->FilePosition),
- ReadFileInfo->FileDataSize
+ (UINTN) ReadFileInfo->FileDataSize
);
ReadFileInfo->FilePosition += ReadFileInfo->FileDataSize;
}
@@ -1097,11 +1097,11 @@ ReadFile (
//
Status = DiskIo->ReadDisk (
DiskIo,
BlockIo->Media->MediaId,
Offset + MultU64x32 (Lsn, LogicalBlockSize),
- DataLength,
+ (UINTN) DataLength,
(VOID *)((UINT8 *)ReadFileInfo->FileData +
DataOffset)
);
if (EFI_ERROR (Status)) {
goto Error_Read_Disk_Blk;
--
1.9.5.msysgit.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Thanks/Ray
> -----Original Message-----
> From: Bi, Dandan
> Sent: Tuesday, September 12, 2017 4:56 PM
> To: edk2-devel@lists.01.org
> Cc: Dong, Eric <eric.dong@intel.com>; Paulo Alcantara <pcacjr@zytor.com>;
> Ni, Ruiyu <ruiyu.ni@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: [PATCH v3 1/3] MdeModulePkg/UdfDxe: Add type cast to fix build
> failure in VS tools
>
> V3: Remove one unnecessay type cast in patch 1.
> Codes:
> if (FilePosition + ExtentLength > ReadFileInfo->FilePosition) {
> Offset = ReadFileInfo->FilePosition - FilePosition;
> if (Offset < 0) {
> Offset = -(Offset)
> }
> ...
> }
> offset is UINT64 can not < 0, so the code logic may have some issue.
> and Offset = -(Offset) may build failure in some circumstance.
> previously type case Offset to INT64 to fix build block. Now remove the type
> cast. Then can to check the code logic later.
>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Paulo Alcantara <pcacjr@zytor.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
> .../Universal/Disk/UdfDxe/FileSystemOperations.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> index 7d7f722..5c5b5e3 100644
> --- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> +++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
> @@ -470,11 +470,11 @@ DuplicateFid (
> OUT UDF_FILE_IDENTIFIER_DESCRIPTOR **NewFileIdentifierDesc
> )
> {
> *NewFileIdentifierDesc =
> (UDF_FILE_IDENTIFIER_DESCRIPTOR *)AllocateCopyPool (
> - GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);
> + (UINTN) GetFidDescriptorLength (FileIdentifierDesc),
> + FileIdentifierDesc);
> }
>
> //
> // Duplicate either a given File Entry or a given Extended File Entry.
> //
> @@ -807,20 +807,20 @@ GetAedAdsData (
> }
>
> //
> // Allocate buffer to read in AED's data.
> //
> - *Data = AllocatePool (*Length);
> + *Data = AllocatePool ((UINTN) (*Length));
> if (*Data == NULL) {
> return EFI_OUT_OF_RESOURCES;
> }
>
> return DiskIo->ReadDisk (
> DiskIo,
> BlockIo->Media->MediaId,
> Offset,
> - *Length,
> + (UINTN) (*Length),
> *Data
> );
> }
>
> //
> @@ -842,11 +842,11 @@ GrowUpBufferToNextAd (
> *Buffer = AllocatePool (ExtentLength);
> if (*Buffer == NULL) {
> return EFI_OUT_OF_RESOURCES;
> }
> } else {
> - *Buffer = ReallocatePool (Length, Length + ExtentLength, *Buffer);
> + *Buffer = ReallocatePool ((UINTN) Length, (UINTN) (Length +
> + ExtentLength), *Buffer);
> if (*Buffer == NULL) {
> return EFI_OUT_OF_RESOURCES;
> }
> }
>
> @@ -931,29 +931,29 @@ ReadFile (
> ReadFileInfo->ReadLength = Length;
> } else if (ReadFileInfo->Flags == READ_FILE_ALLOCATE_AND_READ) {
> //
> // Allocate buffer for starting read data.
> //
> - ReadFileInfo->FileData = AllocatePool (Length);
> + ReadFileInfo->FileData = AllocatePool ((UINTN) Length);
> if (ReadFileInfo->FileData == NULL) {
> return EFI_OUT_OF_RESOURCES;
> }
>
> //
> // Read all inline data into ReadFileInfo->FileData
> //
> - CopyMem (ReadFileInfo->FileData, Data, Length);
> + CopyMem (ReadFileInfo->FileData, Data, (UINTN) Length);
> ReadFileInfo->ReadLength = Length;
> } else if (ReadFileInfo->Flags == READ_FILE_SEEK_AND_READ) {
> //
> // If FilePosition is non-zero, seek file to FilePosition, read
> // FileDataSize bytes and then updates FilePosition.
> //
> CopyMem (
> ReadFileInfo->FileData,
> (VOID *)((UINT8 *)Data + ReadFileInfo->FilePosition),
> - ReadFileInfo->FileDataSize
> + (UINTN) ReadFileInfo->FileDataSize
> );
>
> ReadFileInfo->FilePosition += ReadFileInfo->FileDataSize;
> }
>
> @@ -1097,11 +1097,11 @@ ReadFile (
> //
> Status = DiskIo->ReadDisk (
> DiskIo,
> BlockIo->Media->MediaId,
> Offset + MultU64x32 (Lsn, LogicalBlockSize),
> - DataLength,
> + (UINTN) DataLength,
> (VOID *)((UINT8 *)ReadFileInfo->FileData +
> DataOffset)
> );
> if (EFI_ERROR (Status)) {
> goto Error_Read_Disk_Blk;
> --
> 1.9.5.msysgit.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2025 Red Hat, Inc.