Hi Ray,

Can you help to review this patch?

Thanks,
Zhichao

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Gao,
> Zhichao
> Sent: Monday, July 15, 2019 3:30 PM
> To: devel@edk2.groups.io
> Cc: Carsey, Jaben <jaben.car...@intel.com>; Ni, Ray <ray...@intel.com>;
> Andrew Fish <af...@apple.com>
> Subject: [edk2-devel] [PATCH] ShellPkg/UefiHandleParsingLib: Fix error 
> allocate
> pool
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1965
> 
> For function InsertNewGuidNameMapping, it rellocate the mGuidList with new
> size
> "mGuidListCount+1 * sizeof(GUID_INFO_BLOCK)". That isn't its purpose and
> would cause a overflow operation in "mGuidList[mGuidListCount - 1].xxx = xxx".
> Its purpose is to increase 1 block size of mGuidList. Change it to
> "(mGuidListCount + 1) * sizeof (GUID_INFO_BLOCK)".
> 
> Adjust the coding style of this function.
> 
> Cc: Jaben Carsey <jaben.car...@intel.com>
> Cc: Ray Ni <ray...@intel.com>
> Cc: Andrew Fish <af...@apple.com>
> Signed-off-by: Zhichao Gao <zhichao....@intel.com>
> ---
>  .../UefiHandleParsingLib/UefiHandleParsingLib.c      | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> index f179c41092..430c0ee70b 100644
> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> @@ -2462,17 +2462,21 @@ InsertNewGuidNameMapping(
>    IN CONST DUMP_PROTOCOL_INFO DumpFunc OPTIONAL
>    )
>  {
> -  ASSERT(Guid   != NULL);
> -  ASSERT(NameID != 0);
> +  ASSERT (Guid   != NULL);
> +  ASSERT (NameID != 0);
> 
> -  mGuidList = ReallocatePool(mGuidListCount * sizeof(GUID_INFO_BLOCK),
> mGuidListCount+1 * sizeof(GUID_INFO_BLOCK), mGuidList);
> +  mGuidList = ReallocatePool (
> +                mGuidListCount * sizeof (GUID_INFO_BLOCK),
> +                (mGuidListCount + 1) * sizeof (GUID_INFO_BLOCK),
> +                mGuidList
> +                );
>    if (mGuidList == NULL) {
>      mGuidListCount = 0;
>      return (EFI_OUT_OF_RESOURCES);
>    }
>    mGuidListCount++;
> 
> -  mGuidList[mGuidListCount - 1].GuidId   = AllocateCopyPool(sizeof(EFI_GUID),
> Guid);
> +  mGuidList[mGuidListCount - 1].GuidId   = AllocateCopyPool (sizeof 
> (EFI_GUID),
> Guid);
>    mGuidList[mGuidListCount - 1].StringId = NameID;
>    mGuidList[mGuidListCount - 1].DumpInfo = DumpFunc;
> 
> --
> 2.21.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51436): https://edk2.groups.io/g/devel/message/51436
Mute This Topic: https://groups.io/mt/63589318/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to