Add more strict check for MOR variable, besides MOR lock variable.
authorYao, Jiewen <jiewen.yao@intel.com>
Wed, 2 Sep 2015 06:29:06 +0000 (06:29 +0000)
committerjyao1 <jyao1@Edk2>
Wed, 2 Sep 2015 06:29:06 +0000 (06:29 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18383 6f19259b-4bc3-4df7-8a09-765794883524

SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLock.c

index 7ca7079..c6f3edc 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