Merge R8 tracker #8375.
authorxli24 <xli24@de2fecce-e211-0410-80a6-f3fac2684e05>
Wed, 6 Dec 2006 09:04:37 +0000 (09:04 +0000)
committerxli24 <xli24@de2fecce-e211-0410-80a6-f3fac2684e05>
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.tianocore.org/svn/edk2/trunk@2061 de2fecce-e211-0410-80a6-f3fac2684e05

edk2/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