Merge R8 tracker #8375.
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 6 Dec 2006 09:04:37 +0000 (09:04 +0000)
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 6 Dec 2006 09:04:37 +0000 (09:04 +0000)
Make GetVariable() check Data parameter, and return EFI_INVALID_PARAMETER if it is NULL and DataSize is enough, according to UEFI spec.

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

EdkModulePkg/Universal/EmuVariable/RuntimeDxe/EmuVariable.c

index 093705c..b44da1c 100644 (file)
@@ -336,8 +336,12 @@ Returns:
   //\r
   VarDataSize = Variable.CurrPtr->DataSize;\r
   if (*DataSize >= VarDataSize) {\r
+    if (Data == NULL) {\r
+      return EFI_INVALID_PARAMETER;\r
+    }\r
+\r
     CopyMem (Data, GetVariableDataPtr (Variable.CurrPtr), VarDataSize);\r
-    if (Attributes) {\r
+    if (Attributes != NULL) {\r
       *Attributes = Variable.CurrPtr->Attributes;\r
     }\r
 \r