Are we looking for any other reviews on this?
Thanks,
Jeff
From: Jeff Brasen <jbrasen@nvidia.com>
Sent: Tuesday, September 22, 2020 4:13 PM
To: Bi, Dandan <dandan.bi@intel.com>; devel@edk2.groups.io
Cc: Dong, Eric <eric.dong@intel.com>
Subject: Re: [PATCH] MdeModulePkg/HiiDatabase: Do not modify CONST string
Thanks Dandan, are we waiting for any additional reviews on this change?
Thanks,
Jeff
From: Bi, Dandan <dandan.bi@intel.com>
Sent: Monday, September 14, 2020 8:15 AM
To: Jeff Brasen <jbrasen@nvidia.com>;
devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Dong, Eric <eric.dong@intel.com>
Subject: RE: [PATCH] MdeModulePkg/HiiDatabase: Do not modify CONST string
External email: Use caution opening links or attachments
Reviewed-by: Dandan Bi <dandan.bi@intel.com>
Thanks,
Dandan
> -----Original Message-----
> From: Jeff Brasen <jbrasen@nvidia.com>
> Sent: Saturday, September 12, 2020 1:09 AM
> To: devel@edk2.groups.io
> Cc: Bi, Dandan <dandan.bi@intel.com>; Dong, Eric <eric.dong@intel.com>;
> Jeff Brasen <jbrasen@nvidia.com>
> Subject: [PATCH] MdeModulePkg/HiiDatabase: Do not modify CONST string
>
> Update function behavior to not modify the incoming string that is marked as
> CONST in the prototype.
>
> Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
> ---
> .../Universal/HiiDatabaseDxe/ConfigRouting.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
> b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
> index 2cad6d29f4..d492b769d5 100644
> --- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
> +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
> @@ -5497,7 +5497,6 @@ HiiBlockToConfig (
> UINTN Index; UINT8 *TemBuffer; CHAR16
> *TemString;- CHAR16 TemChar; TmpBuffer = NULL; @@ -
> 5564,10 +5563,13 @@ HiiBlockToConfig (
> // // Copy <ConfigHdr> and an additional '&' to <ConfigResp> //-
> TemChar = *StringPtr;- *StringPtr = '\0';- AppendToMultiString(Config,
> ConfigRequest);- *StringPtr = TemChar;+ TemString = AllocateCopyPool
> (sizeof (CHAR16) * (StringPtr - ConfigRequest + 1), ConfigRequest);+ if
> (TemString == NULL) {+ return EFI_OUT_OF_RESOURCES;+ }+
> TemString[StringPtr - ConfigRequest] = '\0';+ AppendToMultiString(Config,
> TemString);+ FreePool (TemString); // // Parse each <RequestElement> if
> exists--
> 2.25.1