Hi Paulo,

There is change(type cast to INT64) below in this patch. After check, we found 
the " if (Offset < 0) " should be always false comparison as Offset is UINT64 
type.
I have suggested Dandan to remove this change(type case to INT64) at v3 patch 
series https://lists.01.org/pipermail/edk2-devel/2017-September/014523.html.
Could you help check and fix the code appropriately?
           if (Offset < 0) {
-            Offset = -(Offset);
+            Offset = - (INT64) (Offset);
           }


Thanks,
Star
-----Original Message-----
From: Bi, Dandan 
Sent: Monday, September 11, 2017 2:17 PM
To: edk2-devel@lists.01.org
Cc: Dong, Eric <eric.d...@intel.com>; Paulo Alcantara <pca...@zytor.com>; Ni, 
Ruiyu <ruiyu...@intel.com>; Zeng, Star <star.z...@intel.com>
Subject: [PATCH v2 3/3] MdeModulePkg/UdfDxe: Add type cast to fix build failure 
in VS tools

Cc: Eric Dong <eric.d...@intel.com>
Cc: Paulo Alcantara <pca...@zytor.com>
Cc: Ruiyu Ni <ruiyu...@intel.com>
Cc: Star Zeng <star.z...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan...@intel.com>
---
 .../Universal/Disk/UdfDxe/FileSystemOperations.c       | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c 
b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
index ea3f5fb..bf33ae4 100644
--- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
+++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
@@ -477,11 +477,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.
 //
@@ -814,20 +814,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
     );
 }
 
 //
@@ -849,11 +849,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;
     }
   }
 
@@ -938,29 +938,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;
     } else {
       ASSERT (FALSE);
@@ -1081,11 +1081,11 @@ ReadFile (
         }
 
         if (FilePosition + ExtentLength > ReadFileInfo->FilePosition) {
           Offset = ReadFileInfo->FilePosition - FilePosition;
           if (Offset < 0) {
-            Offset = -(Offset);
+            Offset = - (INT64) (Offset);
           }
         } else {
           Offset = 0;
         }
 
@@ -1109,11 +1109,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

Reply via email to