diff options
author | Fu Siyuan <siyuan.fu@intel.com> | 2016-05-23 11:02:01 +0800 |
---|---|---|
committer | Fu Siyuan <siyuan.fu@intel.com> | 2016-05-24 16:37:42 +0800 |
commit | 5646819ffb2d9cb87785e9e409f8d928a9f3a04d (patch) | |
tree | 181b19ad5176b04b371e2f95cc67245214719bcb | |
parent | 26bd6437ca574c6285d4c47d147f96630fa5f837 (diff) | |
download | edk2-platforms-5646819ffb2d9cb87785e9e409f8d928a9f3a04d.tar.xz |
NetworkPkg: update code for NULL pointer check.
This patch updates the HTTP driver to initialize the local variable for NULL
and check the NULL pointer before dereference it.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
-rw-r--r-- | NetworkPkg/HttpDxe/HttpImpl.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c index f4ae28aec9..7ee661316e 100644 --- a/NetworkPkg/HttpDxe/HttpImpl.c +++ b/NetworkPkg/HttpDxe/HttpImpl.c @@ -253,6 +253,7 @@ EfiHttpRequest ( // Initializations
//
Url = NULL;
+ UrlParser = NULL;
HostName = NULL;
RequestMsg = NULL;
HostNameStr = NULL;
@@ -1063,7 +1064,7 @@ HttpResponseWorker ( if (SizeofHeaders != 0) {
HeaderTmp = AllocateZeroPool (SizeofHeaders);
if (HeaderTmp == NULL) {
- goto Error;
+ goto Error2;
}
CopyMem (HeaderTmp, Tmp, SizeofHeaders);
@@ -1075,7 +1076,7 @@ HttpResponseWorker ( //
if (mHttpUtilities == NULL) {
Status = EFI_NOT_READY;
- goto Error;
+ goto Error2;
}
//
@@ -1089,7 +1090,7 @@ HttpResponseWorker ( &HttpMsg->HeaderCount
);
if (EFI_ERROR (Status)) {
- goto Error;
+ goto Error2;
}
FreePool (HttpHeaders);
@@ -1214,7 +1215,7 @@ HttpResponseWorker ( &HttpInstance->TimeoutEvent
);
if (EFI_ERROR (Status)) {
- goto Error;
+ goto Error2;
}
}
@@ -1223,7 +1224,7 @@ HttpResponseWorker ( //
Status = gBS->SetTimer (HttpInstance->TimeoutEvent, TimerRelative, HTTP_RESPONSE_TIMEOUT * TICKS_PER_SECOND);
if (EFI_ERROR (Status)) {
- goto Error;
+ goto Error2;
}
//
@@ -1234,7 +1235,7 @@ HttpResponseWorker ( gBS->SetTimer (HttpInstance->TimeoutEvent, TimerCancel, 0);
if (EFI_ERROR (Status)) {
- goto Error;
+ goto Error2;
}
FreePool (Wrap);
@@ -1258,7 +1259,9 @@ Exit: return Status;
Error2:
- NetMapInsertHead (&HttpInstance->TxTokens, ValueInItem->HttpToken, ValueInItem);
+ if (ValueInItem != NULL) {
+ NetMapInsertHead (&HttpInstance->TxTokens, ValueInItem->HttpToken, ValueInItem);
+ }
Error:
HttpTcpTokenCleanup (Wrap);
|