X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=MdePkg%2FLibrary%2FBaseMemoryLibSse2%2FMemLibGuid.c;h=385aab020272358d8b1ad411ab8ebbfefebdfb4b;hb=2bfb60098f608dc32ff5d22b0fd087c1636b0881;hp=6f50340bd764beb315e103e6611204a2fd81494a;hpb=511710d68f477e0210ae1830769e5d0cde4ea36a;p=mirror_edk2.git diff --git a/MdePkg/Library/BaseMemoryLibSse2/MemLibGuid.c b/MdePkg/Library/BaseMemoryLibSse2/MemLibGuid.c index 6f50340bd7..385aab0202 100644 --- a/MdePkg/Library/BaseMemoryLibSse2/MemLibGuid.c +++ b/MdePkg/Library/BaseMemoryLibSse2/MemLibGuid.c @@ -10,19 +10,22 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - Module Name: MemLibGuid.c - - The following BaseMemoryLib instances share the same version of this file: + The following BaseMemoryLib instances contain the same copy of this file: BaseMemoryLib BaseMemoryLibMmx BaseMemoryLibSse2 BaseMemoryLibRepStr + BaseMemoryLibOptDxe + BaseMemoryLibOptPei PeiMemoryLib DxeMemoryLib **/ + +#include "MemLibInternals.h" + /** Copies a source GUID to a destination GUID. @@ -77,12 +80,17 @@ CompareGuid ( IN CONST GUID *Guid2 ) { - return (BOOLEAN)( - ReadUnaligned64 ((CONST UINT64*)Guid1) - == ReadUnaligned64 ((CONST UINT64*)Guid2) && - ReadUnaligned64 ((CONST UINT64*)Guid1 + 1) - == ReadUnaligned64 ((CONST UINT64*)Guid2 + 1) - ); + UINT64 LowPartOfGuid1; + UINT64 LowPartOfGuid2; + UINT64 HighPartOfGuid1; + UINT64 HighPartOfGuid2; + + LowPartOfGuid1 = ReadUnaligned64 ((CONST UINT64*) Guid1); + LowPartOfGuid2 = ReadUnaligned64 ((CONST UINT64*) Guid2); + HighPartOfGuid1 = ReadUnaligned64 ((CONST UINT64*) Guid1 + 1); + HighPartOfGuid2 = ReadUnaligned64 ((CONST UINT64*) Guid2 + 1); + + return (BOOLEAN) (LowPartOfGuid1 == LowPartOfGuid2 && HighPartOfGuid1 == HighPartOfGuid2); } /** @@ -97,7 +105,7 @@ CompareGuid ( If Length > 0 and Buffer is NULL, then ASSERT(). If Buffer is not aligned on a 32-bit boundary, then ASSERT(). If Length is not aligned on a 128-bit boundary, then ASSERT(). - If Length is greater than (MAX_ADDRESS ? Buffer + 1), then ASSERT(). + If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). @param Buffer Pointer to the target buffer to scan. @param Length Number of bytes in Buffer to scan.