diff options
author | Zhang Lubo <lubo.zhang@intel.com> | 2016-06-21 14:40:28 +0800 |
---|---|---|
committer | Jiaxin Wu <jiaxin.wu@intel.com> | 2016-06-23 09:27:14 +0800 |
commit | 7c275b3cde5fdc3cf6fac068c52455927d09c1c1 (patch) | |
tree | 89f56e3ba6f93ceb5081d062be7430ef7acce000 /NetworkPkg/HttpBootDxe | |
parent | 3460c75dfe951c50d1d16eb2bb54b4790d49a91d (diff) | |
download | edk2-7c275b3cde5fdc3cf6fac068c52455927d09c1c1.tar.gz edk2-7c275b3cde5fdc3cf6fac068c52455927d09c1c1.tar.bz2 edk2-7c275b3cde5fdc3cf6fac068c52455927d09c1c1.zip |
NetworkPkg: Replace ASSERT with error handling in Http boot and IScsi
v2:
*Fix some memory leak issue.
This patch is used to replace ASSERT with error handling in Http boot
Driver and IScsi driver.
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-By: Wu Jiaxin <jiaxin.wu@intel.com>
Diffstat (limited to 'NetworkPkg/HttpBootDxe')
-rw-r--r-- | NetworkPkg/HttpBootDxe/HttpBootConfig.c | 5 | ||||
-rw-r--r-- | NetworkPkg/HttpBootDxe/HttpBootDhcp6.c | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/NetworkPkg/HttpBootDxe/HttpBootConfig.c b/NetworkPkg/HttpBootDxe/HttpBootConfig.c index 7ae2ff61f2..7c883b8397 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootConfig.c +++ b/NetworkPkg/HttpBootDxe/HttpBootConfig.c @@ -273,7 +273,9 @@ HttpBootFormExtractConfig ( ConfigRequestHdr = HiiConstructConfigHdr (&gHttpBootConfigGuid, mHttpBootConfigStorageName, CallbackInfo->ChildHandle);
Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
ConfigRequest = AllocateZeroPool (Size);
- ASSERT (ConfigRequest != NULL);
+ if (ConfigRequest == NULL) {
+ return EFI_OUT_OF_RESOURCES;
+ }
AllocatedRequest = TRUE;
UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);
FreePool (ConfigRequestHdr);
@@ -464,7 +466,6 @@ HttpBootFormCallback ( // Get user input URI string
//
Uri = HiiGetString (CallbackInfo->RegisteredHandle, Value->string, NULL);
- ASSERT (Uri != NULL);
if (Uri == NULL) {
return EFI_UNSUPPORTED;
}
diff --git a/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c b/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c index 0157095edf..9ea421d758 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c +++ b/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c @@ -401,6 +401,7 @@ HttpBootCacheDhcp6Offer ( @retval EFI_NOT_READY Only used in the Dhcp6Selecting state. The EFI DHCPv6 Protocol
driver will continue to wait for more packets.
@retval EFI_ABORTED Told the EFI DHCPv6 Protocol driver to abort the current process.
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources.
**/
EFI_STATUS
@@ -451,7 +452,9 @@ HttpBootDhcp6CallBack ( ASSERT (NewPacket != NULL);
SelectAd = &Private->OfferBuffer[Private->SelectIndex - 1].Dhcp6.Packet.Offer;
*NewPacket = AllocateZeroPool (SelectAd->Size);
- ASSERT (*NewPacket != NULL);
+ if (*NewPacket == NULL) {
+ return EFI_OUT_OF_RESOURCES;
+ }
CopyMem (*NewPacket, SelectAd, SelectAd->Size);
}
break;
|