]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c
Add pointer check for NULL before dereference it.
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / EmuRuntimeDxe / EmuVariable.c
index d36254cc675ca5a5d1f5155d621d21c3fb0fa8e3..df42eda670a0cfe5e894f57072e347f17d7e0a63 100644 (file)
@@ -1177,6 +1177,7 @@ EmuGetVariable (
   VARIABLE_POINTER_TRACK  Variable;\r
   UINTN                   VarDataSize;\r
   EFI_STATUS              Status;\r
+  UINT8                   *VariableDataPtr;\r
 \r
   if (VariableName == NULL || VendorGuid == NULL || DataSize == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -1201,8 +1202,10 @@ EmuGetVariable (
       Status = EFI_INVALID_PARAMETER;\r
       goto Done;\r
     }\r
-\r
-    CopyMem (Data, GetVariableDataPtr (Variable.CurrPtr), VarDataSize);\r
+    VariableDataPtr = GetVariableDataPtr (Variable.CurrPtr);\r
+    ASSERT (VariableDataPtr != NULL);\r
+    \r
+    CopyMem (Data, VariableDataPtr, VarDataSize);\r
     if (Attributes != NULL) {\r
       *Attributes = Variable.CurrPtr->Attributes;\r
     }\r