[edk2-devel] [PATCH] MdeModulePkg/HiiDatabase: Do not modify CONST string

Jeff Brasen posted 1 patch 1 week ago
Failed in applying to current master (apply log)
.../Universal/HiiDatabaseDxe/ConfigRouting.c         | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

[edk2-devel] [PATCH] MdeModulePkg/HiiDatabase: Do not modify CONST string

Posted by Jeff Brasen 1 week ago
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


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

View/Reply Online (#65192): https://edk2.groups.io/g/devel/message/65192
Mute This Topic: https://groups.io/mt/76784317/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] MdeModulePkg/HiiDatabase: Do not modify CONST string

Posted by Dandan Bi 4 days ago
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


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

View/Reply Online (#65223): https://edk2.groups.io/g/devel/message/65223
Mute This Topic: https://groups.io/mt/76784317/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-