From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by mx.groups.io with SMTP id smtpd.web11.201.1584638479437375343 for ; Thu, 19 Mar 2020 10:21:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=n1 header.b=Ypvr5Lp2; spf=pass (domain: nvidia.com, ip: 216.228.121.64, mailfrom: jbrasen@nvidia.com) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Thu, 19 Mar 2020 10:20:29 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Thu, 19 Mar 2020 10:21:19 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Thu, 19 Mar 2020 10:21:19 -0700 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 19 Mar 2020 17:21:18 +0000 Received: from hqnvemgw03.nvidia.com (10.124.88.68) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 19 Mar 2020 17:21:19 +0000 Received: from jbrasen-ux.nvidia.com (Not Verified[10.28.48.132]) by hqnvemgw03.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Thu, 19 Mar 2020 10:21:18 -0700 From: "Jeff Brasen" To: CC: , , Jeff Brasen Subject: [PATCH] MdeModulePkg/HiiDatabase: Do not modify CONST string Date: Thu, 19 Mar 2020 11:21:09 -0600 Message-ID: X-Mailer: git-send-email 2.17.1 X-NVConfidentiality: public Return-Path: jbrasen@nvidia.com MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1584638429; bh=VuXtkjJc+DyXmqQy2Ik9QRPETrrvGifQZ81/CqTFZdw=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: X-NVConfidentiality:MIME-Version:Content-Type; b=Ypvr5Lp2hDa0Pj5STLhUoWqO93OF2+qvPibnJers8rWOd8qZGKPUUOSl6FBZ/eQaL 6o3o3YAydcDcxGY5jBe1XwSX7VKl5nEbIAS+/OLnn+dRVADmsn46OCQCMTi6klhPyf ShhTqpmfjq7A0a/o6saB6ITyfJgxjxl+JEhNjt4JMtGD1HzIQH2/YXtTqpoEfCLpy5 +diUuP7slqgTrqNWsDLrLemyqYcAAaHD77Yh6Z/vXmayHo3KZJFH2sU30yB4EYFtJ4 GOZOuHQu+7frqHF1DoUxLBpt+zwySDjh1Hu6818kbYCUdyHVu9Erlwhg6pgNFJBPsp ja18ZUheC9MFg== Content-Type: text/plain Update function behavior to not modify the incoming string that is marked as CONST in the prototype. Signed-off-by: Jeff Brasen --- .../Universal/HiiDatabaseDxe/ConfigRouting.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c index 2cad6d29f4..e08a62c387 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,14 @@ HiiBlockToConfig ( // // Copy and an additional '&' to // - 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 if exists -- 2.17.1