]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add in local variable to ensure that "operands are evaluated in specified order".
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Sun, 26 Oct 2008 07:32:20 +0000 (07:32 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Sun, 26 Oct 2008 07:32:20 +0000 (07:32 +0000)
Otherwise, Intel ICC report "operands are evaluated in unspecified order" build error.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6231 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c

index b5741785b25de990c0d18c9ed6d7074e7ddd9415..bc4e6eb38d0d29a94cc365391bd0ede4e5ef3c5f 100644 (file)
@@ -606,12 +606,16 @@ Returns:
   UINT8                 *ValidBuffer;\r
   UINTN                 MaximumBufferSize;\r
   UINTN                 VariableSize;\r
+  UINTN                 VariableNameSize;\r
+  UINTN                 UpdatingVariableNameSize;\r
   UINTN                 NameSize;\r
   UINT8                 *CurrPtr;\r
   VOID                  *Point0;\r
   VOID                  *Point1;\r
   BOOLEAN               FoundAdded;\r
   EFI_STATUS            Status;\r
+  CHAR16                *VariableNamePtr;\r
+  CHAR16                *UpdatingVariableNamePtr;\r
 \r
   VariableStoreHeader = (VARIABLE_STORE_HEADER *) ((UINTN) VariableBase);\r
 \r
@@ -667,9 +671,15 @@ Returns:
           Variable = NextVariable;\r
           continue;\r
         }\r
+\r
+        VariableNameSize         = NameSizeOfVariable(Variable);\r
+        UpdatingVariableNameSize = NameSizeOfVariable(UpdatingVariable);\r
+\r
+        VariableNamePtr         = GetVariableNamePtr (Variable);\r
+        UpdatingVariableNamePtr = GetVariableNamePtr (UpdatingVariable);\r
         if (CompareGuid (&Variable->VendorGuid, &UpdatingVariable->VendorGuid)    &&\r
-            NameSizeOfVariable(Variable) == NameSizeOfVariable (UpdatingVariable) &&\r
-            CompareMem (GetVariableNamePtr (Variable), GetVariableNamePtr (UpdatingVariable), NameSizeOfVariable (Variable)) == 0 ) {\r
+            VariableNameSize == UpdatingVariableNameSize &&\r
+            CompareMem (VariableNamePtr, UpdatingVariableNamePtr, VariableNameSize) == 0 ) {\r
           Variable = NextVariable;\r
           continue;\r
         }\r