Add more strict check for MOR variable, besides MOR lock variable.
[mirror_edk2.git] / SecurityPkg / Tcg / MemoryOverwriteRequestControlLock / TcgMorLock.c
index 7ca707915e25425ee859482bb8dc28e874c0ce88..c6f3edc75631c91379fbabda6a816363e449d740 100644 (file)
@@ -143,20 +143,21 @@ SetVariableCheckHandlerMor (
     return EFI_INVALID_PARAMETER;\r
   }\r
   \r
+  //\r
+  // Delete not OK\r
+  //\r
+  if ((DataSize != sizeof(UINT8)) || (Data == NULL) || (Attributes == 0)) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
   //\r
   // check format\r
   //\r
   if (IsMorLockVariable(VariableName, VendorGuid)) {\r
-    //\r
-    // Delete not OK\r
-    //\r
-    if ((DataSize == 0) || (Data == NULL) || (Attributes == 0)) {\r
-      return EFI_INVALID_PARAMETER;\r
-    }\r
     //\r
     // set to any other value not OK\r
     //\r
-    if ((DataSize != sizeof(UINT8)) || ((*(UINT8 *)Data != 1) && (*(UINT8 *)Data != 0))) {\r
+    if ((*(UINT8 *)Data != 1) && (*(UINT8 *)Data != 0)) {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
   }\r