*OptionPoint = NULL;\r
\r
if (OptNum == 0) {\r
- Status = EFI_NOT_FOUND;\r
goto ON_EXIT;\r
}\r
\r
Status = DhcpIterateOptions (Packet, DhcpFillOption, &Context);\r
\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (Options);\r
+ FreePool (Options);\r
goto ON_EXIT;\r
}\r
\r
*OptionPoint = Options;\r
\r
ON_EXIT:\r
- gBS->FreePool (OptCount);\r
+ FreePool (OptCount);\r
return Status;\r
}\r
\r
if (EFI_ERROR (Status) || (Count == 0)) {\r
return Status;\r
}\r
- \r
+ ASSERT (AllOption != NULL);\r
+\r
Updated = FALSE;\r
ZeroMem (&Parameter, sizeof (Parameter));\r
\r
}\r
\r
if (Updated && (Para != NULL)) {\r
- if ((*Para = AllocatePool (sizeof (DHCP_PARAMETER))) == NULL) {\r
+ *Para = AllocateCopyPool (sizeof (DHCP_PARAMETER), &Parameter);\r
+ if (*Para == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto ON_EXIT;\r
}\r
-\r
- CopyMem (*Para, &Parameter, sizeof (**Para));\r
}\r
\r
ON_EXIT:\r
- gBS->FreePool (AllOption);\r
+ FreePool (AllOption);\r
return Status;\r
}\r
\r
if (EFI_ERROR (Status)) {\r
goto ON_ERROR;\r
}\r
- ASSERT (SeedOptions != NULL);\r
\r
- for (Index = 0; Index < (UINT32) Count; Index++) {\r
- Mark[SeedOptions[Index].Tag] = SeedOptions[Index];\r
+ if (SeedOptions != NULL) {\r
+ for (Index = 0; Index < (UINT32) Count; Index++) {\r
+ Mark[SeedOptions[Index].Tag] = SeedOptions[Index];\r
+ }\r
}\r
\r
//\r
\r
ON_ERROR:\r
if (SeedOptions != NULL) {\r
- gBS->FreePool (SeedOptions);\r
+ FreePool (SeedOptions);\r
}\r
\r
- gBS->FreePool (Mark);\r
+ FreePool (Mark);\r
return Status;\r
}\r