Reviewed-by: Ye Ting <[email protected]> -----Original Message----- From: Fu, Siyuan Sent: Monday, May 23, 2016 11:06 AM To: [email protected] Cc: Ye; Ye, Ting <[email protected]>; Wu; Wu, Jiaxin <[email protected]> Subject: [Patch] 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. Cc: Ye, Ting <[email protected]> Cc: Wu, Jiaxin <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <[email protected]> --- NetworkPkg/HttpDxe/HttpImpl.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c index f4ae28a..7ee6613 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); -- 2.7.4.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

