NetworkPkg: Add error handling logic when using AllocateZeroPool

Add error handling logic if failed to apply new memory.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-By: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-By: Fu Siyuan <siyuan.fu@intel.com>
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c
index 45377e3..eba8e1d 100644
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c
@@ -1298,8 +1298,9 @@
 

   @param[in]  Private             The pointer to PXEBC_PRIVATE_DATA.

 

-  @retval     EFI_SUCCESS         Handled the DHCPv6 offer packet successfully.

-  @retval     EFI_NO_RESPONSE     No response to the following request packet.

+  @retval     EFI_SUCCESS           Handled the DHCPv6 offer packet successfully.

+  @retval     EFI_NO_RESPONSE       No response to the following request packet.

+  @retval     EFI_OUT_OF_RESOURCES  Failed to allocate resources.

 

 **/

 EFI_STATUS

@@ -1325,6 +1326,9 @@
   //

   if (Cache6->OptList[PXEBC_DHCP6_IDX_DNS_SERVER] != NULL) {

     Private->DnsServer = AllocateZeroPool (NTOHS (Cache6->OptList[PXEBC_DHCP6_IDX_DNS_SERVER]->OpLen));

+    if (Private->DnsServer == NULL) {

+      return EFI_OUT_OF_RESOURCES;

+    }

     CopyMem (Private->DnsServer, Cache6->OptList[PXEBC_DHCP6_IDX_DNS_SERVER]->Data, sizeof (EFI_IPv6_ADDRESS));

   }