Reviewed-By: Wu Jiaxin <[email protected]>

> -----Original Message-----
> From: Fu, Siyuan
> Sent: Monday, May 23, 2016 5:49 PM
> To: [email protected]
> Cc: Ye, Ting <[email protected]>; 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

Reply via email to