Reviewed-by: Fu Siyuan <siyuan...@intel.com>

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Jiaxin Wu
> Sent: Thursday, March 1, 2018 2:30 PM
> To: edk2-devel@lists.01.org
> Cc: Ye, Ting <ting...@intel.com>; Fu, Siyuan <siyuan...@intel.com>; Wu,
> Jiaxin <jiaxin...@intel.com>
> Subject: [edk2] [Patch] NetworkPkg/HttpBootDxe: Correct the parameter
> check for the usage of HttpBootGetFileFromCache.
> 
> The patch is to fix the incorrect parameter check for the
> HttpBootGetFileFromCache().
> 
> Cc: Ye Ting <ting...@intel.com>
> Cc: Fu Siyuan <siyuan...@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <jiaxin...@intel.com>
> ---
>  NetworkPkg/HttpBootDxe/HttpBootClient.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/NetworkPkg/HttpBootDxe/HttpBootClient.c
> b/NetworkPkg/HttpBootDxe/HttpBootClient.c
> index 15e0ab9d69..b93e63bb2f 100644
> --- a/NetworkPkg/HttpBootDxe/HttpBootClient.c
> +++ b/NetworkPkg/HttpBootDxe/HttpBootClient.c
> @@ -1,9 +1,9 @@
>  /** @file
>    Implementation of the boot file download function.
> 
> -Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
>  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
>  This program and the accompanying materials are licensed and made
> available under
>  the terms and conditions of the BSD License that accompanies this
> distribution.
>  The full text of the license may be found at
>  http://opensource.org/licenses/bsd-license.php.
> @@ -434,11 +434,11 @@ HttpBootDhcp6ExtractUriInfo (
>        goto Error;
>      }
>    }
> 
>    //
> -  // Extract the HTTP server Ip frome URL. This is used to Check route
> table
> +  // Extract the HTTP server Ip from URL. This is used to Check route
> table
>    // whether can send message to HTTP Server Ip through the GateWay.
>    //
>    Status = HttpUrlGetIp6 (
>               Private->BootFileUri,
>               Private->BootFileUriParser,
> @@ -744,23 +744,22 @@ HttpBootGetFileFromCache (
>    LIST_ENTRY                  *Entry2;
>    HTTP_BOOT_CACHE_CONTENT     *Cache;
>    HTTP_BOOT_ENTITY_DATA       *EntityData;
>    UINTN                       CopyedSize;
> 
> -  if (Uri == NULL || BufferSize == 0 || Buffer == NULL || ImageType ==
> NULL) {
> +  if (Uri == NULL || BufferSize == NULL || Buffer == NULL || ImageType ==
> NULL) {
>      return EFI_INVALID_PARAMETER;
>    }
> 
>    NET_LIST_FOR_EACH (Entry, &Private->CacheList) {
>      Cache = NET_LIST_USER_STRUCT (Entry, HTTP_BOOT_CACHE_CONTENT, Link);
>      //
>      // Compare the URI to see whether we already have a cache for this
> file.
>      //
>      if ((Cache->RequestData != NULL) &&
>          (Cache->RequestData->Url != NULL) &&
> -        (StrCmp (Uri, Cache->RequestData->Url) == 0))
> -    {
> +        (StrCmp (Uri, Cache->RequestData->Url) == 0)) {
>        //
>        // Hit in cache, record image type.
>        //
>        *ImageType  = Cache->ImageType;
> 
> @@ -945,11 +944,11 @@ HttpBootGetBootFile (
>    Url = AllocatePool (UrlSize * sizeof (CHAR16));
>    if (Url == NULL) {
>      return EFI_OUT_OF_RESOURCES;
>    }
>    AsciiStrToUnicodeStrS (Private->BootFileUri, Url, UrlSize);
> -  if (!HeaderOnly) {
> +  if (!HeaderOnly && Buffer != NULL) {
>      Status = HttpBootGetFileFromCache (Private, Url, BufferSize, Buffer,
> ImageType);
>      if (Status != EFI_NOT_FOUND) {
>        FreePool (Url);
>        return Status;
>      }
> @@ -1127,11 +1126,11 @@ HttpBootGetBootFile (
>    Context.Buffer     = Buffer;
>    Context.BufferSize = *BufferSize;
>    Context.Cache      = Cache;
>    Context.Private    = Private;
>    Status = HttpInitMsgParser (
> -             HeaderOnly? HttpMethodHead : HttpMethodGet,
> +             HeaderOnly ? HttpMethodHead : HttpMethodGet,
>               ResponseData->Response.StatusCode,
>               ResponseData->HeaderCount,
>               ResponseData->Headers,
>               HttpBootGetBootFileCallback,
>               (VOID*) &Context,
> --
> 2.16.2.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to