EFI_STATUS Status; \r
EFI_PEI_FIRMWARE_VOLUME_INFO_PPI *FvInfoPpi;\r
EFI_PEI_PPI_DESCRIPTOR *FvInfoPpiDescriptor;\r
+ EFI_GUID *ParentFvNameValue;\r
+ EFI_GUID *ParentFileNameValue;\r
\r
+ ParentFvNameValue = NULL;\r
+ ParentFileNameValue = NULL;\r
FvInfoPpi = AllocateZeroPool (sizeof (EFI_PEI_FIRMWARE_VOLUME_INFO_PPI));\r
- ASSERT( FvInfoPpi != NULL);\r
+ ASSERT(FvInfoPpi != NULL);\r
\r
if (FvFormat != NULL) {\r
CopyGuid (&FvInfoPpi->FvFormat, FvFormat);\r
}\r
FvInfoPpi->FvInfo = (VOID *) FvInfo;\r
FvInfoPpi->FvInfoSize = FvInfoSize;\r
- FvInfoPpi->ParentFvName = (EFI_GUID *) ParentFvName;\r
- FvInfoPpi->ParentFileName = (EFI_GUID *) ParentFileName;\r
-\r
+ if (ParentFvName != NULL) {\r
+ ParentFvNameValue = AllocateCopyPool (sizeof (EFI_GUID), ParentFvName);\r
+ ASSERT (ParentFvNameValue != NULL);\r
+ FvInfoPpi->ParentFvName = ParentFvNameValue;\r
+ }\r
+ if (ParentFileName != NULL) {\r
+ ParentFileNameValue = AllocateCopyPool (sizeof (EFI_GUID), ParentFileName);\r
+ ASSERT (ParentFileNameValue != NULL);\r
+ FvInfoPpi->ParentFileName = ParentFileNameValue;\r
+ }\r
\r
FvInfoPpiDescriptor = AllocateCopyPool (sizeof(EFI_PEI_PPI_DESCRIPTOR), mPpiListTemplate);\r
ASSERT (FvInfoPpiDescriptor != NULL);\r