From nobody Mon May 6 12:39:51 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+44967+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+44967+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1565151632; cv=none; d=zoho.com; s=zohoarc; b=XlODsdyiOZ9yOx0zdcRJMC6oMyz9kXvRcjEOABXExzCXyA/Wo+WQXv6CsdIyX4fh41Sct36supIhcK69d7lVGI25SNBC0NAa+h2tfhH00HSsi1sfBe0ISUOIiOObzCBFjAJ/bnq+LDJGVLC3XusmJ0oi5LGs/kvdRkGDSROAUlc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1565151632; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=m7ptM8OrNXOWKwyzuqV2GoI+MWt8NwYYDYJqAwGSJ/0=; b=YPHH0cdac/DB32lzWspgW5DDsivI0FFtDpJvMyOyZ2JeOkjSTgPVD6yS5NKFfBURlpSGY1WXeH5jQqdHzyX1bCpCu5HijGAF7BbYMg+/YTqC+5cMat8uBnKfWBQgkb1UFLQHCjZ0xjoLb37WHRlL3xUUC296g+FQw3YySNDI9I4= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+44967+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1565151632068833.6900999086868; Tue, 6 Aug 2019 21:20:32 -0700 (PDT) Return-Path: X-Received: from mga07.intel.com (mga07.intel.com []) by groups.io with SMTP; Tue, 06 Aug 2019 21:20:31 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Aug 2019 21:20:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,356,1559545200"; d="scan'208";a="185866522" X-Received: from mdkinney-mobl2.amr.corp.intel.com ([10.254.50.26]) by orsmga002.jf.intel.com with ESMTP; 06 Aug 2019 21:20:29 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Jordan Justen , Andrew Fish , Ray Ni Subject: [edk2-devel] [Patch 1/3] EmulatorPkg: Fix VS20xx IA32 boot failure Date: Tue, 6 Aug 2019 21:20:25 -0700 Message-Id: <20190807042028.21988-2-michael.d.kinney@intel.com> In-Reply-To: <20190807042028.21988-1-michael.d.kinney@intel.com> References: <20190807042028.21988-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,michael.d.kinney@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1565151631; bh=Q0jthjmVDUm18KFKa9LmVAooZMLwbHgqVS4kggSTlkI=; h=Cc:Date:From:Reply-To:Subject:To; b=qC1vsg9EOUN1hv0aQbrRqGTxZe1Hm43cvvVuzikvOE4DqqCFY/mSy6frNyGoH4rXsD+ zJd0aDWVlJDKBVDoqy+A38C0zP7CuQ9Dr+t+Rjbln6SlWICHqvjc59vJSD+wfJcfHq/oi TL4oNgR+9DYXkUmCUDcXC33X2SoNFAFJRLk= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" https://bugzilla.tianocore.org/show_bug.cgi?id=3D2056 The IA32 build of the EmulatorPkg for VS20xx does not boot because the default value of PCD PcdPeiServicesTablePage is set for X64 Windows Host environments. If the EmulatorPkg is build for an IA32 Windows Host environment, then set this PCD to 0x13000000 that can be mapped into a 32-bit user process. Cc: Jordan Justen Cc: Andrew Fish Cc: Ray Ni Signed-off-by: Michael D Kinney Reviewed-by: Hao A Wu --- EmulatorPkg/EmulatorPkg.dsc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc index ea8b6ce76e..c4ec10d1d8 100644 --- a/EmulatorPkg/EmulatorPkg.dsc +++ b/EmulatorPkg/EmulatorPkg.dsc @@ -4,7 +4,7 @@ # The Emulation Platform can be used to debug individual modules, prior to= creating # a real platform. This also provides an example for how an DSC is created. # -# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
# Portions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -225,6 +225,10 @@ [PcdsFixedAtBuild] # 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1 =20 +!if "IA32" in $(ARCH) && "MSFT" in $(FAMILY) + gEmulatorPkgTokenSpaceGuid.PcdPeiServicesTablePage|0x13000000 +!endif + [PcdsDynamicDefault.common.DEFAULT] gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 --=20 2.21.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#44967): https://edk2.groups.io/g/devel/message/44967 Mute This Topic: https://groups.io/mt/32779286/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Mon May 6 12:39:51 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+44968+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+44968+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1565151632; cv=none; d=zoho.com; s=zohoarc; b=OpYVZge9Rqq0IWU+m+vDecirGATZRdZ+Tmr23WAfoOYkNRWmcaJfCH1xjrzYtgm4et0Y0wOSBojKKm9MqOyyPDwyLGSmiBU51UYXC3gAAoWSwRY+dev+phcWAd3gQ5jYA6UiBNM4iH4xcuo6LEuF3LA7HiViLovmtedlYgM3IR0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1565151632; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=79MruKWsl/umXavtmowCvQed6wi4bMOwL2AOTyGkSkk=; b=n9n79aiE3zz0VoKFXfzB1Z8K+BlY71+GrIXzs8+UvFSlVP3wNL6RKaIe0vBFFvPAv40cRojJX3HFEY7KscYlTfw3gCak3FLBdBxFAIgYBUTzhveQPajSR3Qzb7QChvYC/1HiqpVbZaUVdq2mhOCfPouo6S0vFGuH44RylM+STmQ= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+44968+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1565151632718329.3107033075404; Tue, 6 Aug 2019 21:20:32 -0700 (PDT) Return-Path: X-Received: from mga07.intel.com (mga07.intel.com []) by groups.io with SMTP; Tue, 06 Aug 2019 21:20:31 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Aug 2019 21:20:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,356,1559545200"; d="scan'208";a="185866526" X-Received: from mdkinney-mobl2.amr.corp.intel.com ([10.254.50.26]) by orsmga002.jf.intel.com with ESMTP; 06 Aug 2019 21:20:30 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Jordan Justen , Andrew Fish , Ray Ni Subject: [edk2-devel] [Patch 2/3] EmulatorPkg: Remove UNIX_SEC_BUILD/WIN_SEC_BUILD Date: Tue, 6 Aug 2019 21:20:26 -0700 Message-Id: <20190807042028.21988-3-michael.d.kinney@intel.com> In-Reply-To: <20190807042028.21988-1-michael.d.kinney@intel.com> References: <20190807042028.21988-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,michael.d.kinney@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1565151632; bh=7DSuCqqVon7r4HeKKLHM9PKWBrHkGFL0EF9iLqCUmYg=; h=Cc:Date:From:Reply-To:Subject:To; b=LkINJVE/ava6uYjNe23tk65YfdaEmsdFd36Mq1DDqAEaK1I/H0b7cU3HneObfpp5KzY k+whBw4x0FcCMiglNFwoIA/g1JMCGi/sLQOuuID9JSFDDnQM/Wk8wnPEjwa0suK34fhPz 9oduHiemIRtmmVVH1R2cjbD3fEqmcUZLvZw= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" https://bugzilla.tianocore.org/show_bug.cgi?id=3D2055 Remove the use of the defines UNIX_SEC_BUILD and WIN_SEC_BUILD. This simplifies the build command for the EmulatorPkg. Instead, use !if statements in the DSC file using (ARCH) and $(FAMILY) to determine if the build is for a Windows or POSIX environment. The Readme.md, BAT, and sh files are also updated to remove the use of these defines. Cc: Jordan Justen Cc: Andrew Fish Cc: Ray Ni Signed-off-by: Michael D Kinney Reviewed-by: Hao A Wu --- EmulatorPkg/EmulatorPkg.dsc | 24 ++++++++++++------------ EmulatorPkg/Readme.md | 8 ++++---- EmulatorPkg/Win/VS2017/BuildVS.bat | 2 +- EmulatorPkg/build.sh | 8 ++++---- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc index c4ec10d1d8..c9e4a5b34d 100644 --- a/EmulatorPkg/EmulatorPkg.dsc +++ b/EmulatorPkg/EmulatorPkg.dsc @@ -240,18 +240,18 @@ [PcdsDynamicHii.common.DEFAULT] gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVar= iableGuid|0x0|10 =20 [Components] -!ifdef $(UNIX_SEC_BUILD) - ## - # Emulator, OS POSIX application - ## - EmulatorPkg/Unix/Host/Host.inf -!endif - -!ifdef $(WIN_SEC_BUILD) - ## - # Emulator, OS WIN application - ## - EmulatorPkg/Win/Host/WinHost.inf +!if "IA32" in $(ARCH) || "X64" in $(ARCH) + !if "MSFT" in $(FAMILY) + ## + # Emulator, OS WIN application + ## + EmulatorPkg/Win/Host/WinHost.inf + !else + ## + # Emulator, OS POSIX application + ## + EmulatorPkg/Unix/Host/Host.inf + !endif !endif =20 !ifndef $(SKIP_MAIN_BUILD) diff --git a/EmulatorPkg/Readme.md b/EmulatorPkg/Readme.md index 461975e859..5ea61ca7ab 100644 --- a/EmulatorPkg/Readme.md +++ b/EmulatorPkg/Readme.md @@ -21,19 +21,19 @@ https://github.com/tianocore/tianocore.github.io/wiki/E= mulatorPkg **You can use the following command to build.** * 32bit emulator in Windows: =20 - `build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD -a IA= 32` + `build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -a IA32` =20 * 64bit emulator in Windows: =20 - `build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD -a X6= 4` + `build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -a X64` =20 * 32bit emulator in Linux: =20 - `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -D UNIX_SEC_BUILD -a IA3= 2` + `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -a IA32` =20 * 64bit emulator in Linux: =20 - `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -D UNIX_SEC_BUILD -a X64` + `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -a X64` =20 **You can start/run the emulator using the following command:** * 32bit emulator in Windows: diff --git a/EmulatorPkg/Win/VS2017/BuildVS.bat b/EmulatorPkg/Win/VS2017/Bu= ildVS.bat index 83aebc77dc..6fcf40cc0a 100644 --- a/EmulatorPkg/Win/VS2017/BuildVS.bat +++ b/EmulatorPkg/Win/VS2017/BuildVS.bat @@ -1,3 +1,3 @@ cd ../../../ @call edksetup.bat -build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD %* +build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 %* diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh index 2dab035ed5..60056e1b6c 100755 --- a/EmulatorPkg/build.sh +++ b/EmulatorPkg/build.sh @@ -233,13 +233,13 @@ fi =20 case $CLEAN_TYPE in clean) - build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a $PROCESSOR -b $BUIL= DTARGET -t $HOST_TOOLS -D UNIX_SEC_BUILD -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a $PROCESSOR -b $BUIL= DTARGET -t $HOST_TOOLS -n 3 clean build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a $PROCESSOR -b $BUIL= DTARGET -t $TARGET_TOOLS -n 3 clean exit $? ;; cleanall) make -C $WORKSPACE/BaseTools clean - build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a $PROCESSOR -b $BUIL= DTARGET -t $HOST_TOOLS -D UNIX_SEC_BUILD -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a $PROCESSOR -b $BUIL= DTARGET -t $HOST_TOOLS -n 3 clean build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a $PROCESSOR -b $BUIL= DTARGET -t $TARGET_TOOLS -n 3 clean build -p $WORKSPACE/ShellPkg/ShellPkg.dsc -a IA32 -b $BUILDTARGET -t $= TARGET_TOOLS -n 3 clean exit $? @@ -251,9 +251,9 @@ esac # Build the edk2 EmulatorPkg # if [[ $HOST_TOOLS =3D=3D $TARGET_TOOLS ]]; then - build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc $BUILD_OPTIONS -a $PROCE= SSOR -b $BUILDTARGET -t $TARGET_TOOLS -D BUILD_$ARCH_SIZE -D UNIX_SEC_BUILD= $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc $BUILD_OPTIONS -a $PROCE= SSOR -b $BUILDTARGET -t $TARGET_TOOLS -D BUILD_$ARCH_SIZE $NETWORK_SUPPORT = $BUILD_NEW_SHELL $BUILD_FAT -n 3 else - build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc $BUILD_OPTIONS -a $PROCE= SSOR -b $BUILDTARGET -t $HOST_TOOLS -D BUILD_$ARCH_SIZE -D UNIX_SEC_BUILD = -D SKIP_MAIN_BUILD -n 3 modules + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc $BUILD_OPTIONS -a $PROCE= SSOR -b $BUILDTARGET -t $HOST_TOOLS -D BUILD_$ARCH_SIZE -D SKIP_MAIN_BUILD= -n 3 modules build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc $BUILD_OPTIONS -a $PROCE= SSOR -b $BUILDTARGET -t $TARGET_TOOLS -D BUILD_$ARCH_SIZE $NETWORK_SUPPORT = $BUILD_NEW_SHELL $BUILD_FAT -n 3 cp "$BUILD_OUTPUT_DIR/${BUILDTARGET}_$HOST_TOOLS/$PROCESSOR/Host" $BUILD= _ROOT_ARCH fi --=20 2.21.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#44968): https://edk2.groups.io/g/devel/message/44968 Mute This Topic: https://groups.io/mt/32779287/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Mon May 6 12:39:51 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+44969+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+44969+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1565151632; cv=none; d=zoho.com; s=zohoarc; b=gVZ1i40LKhUdQUs1JXE9yv0n7MCSxusgQ0laYvGCaYpIT0tC0fVnTf6bLzDhrd4tx4D1jHM3BxfDvXMCT2rCD8DkZQEHS4nHq8v0pG8U80EZ1Pm3k96/quD8oWYxB+2+62TV157CB5QddPEqWi6FBiOgkl0+OI057OE5sOAMwCg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1565151632; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=P8hrlwAuj5TKG/oYshL0OEtnTdbABsdXRSg4R/4MjVI=; b=Vc5v2n+Kjj8uR1gXUplK9TQzQtzwWXaT1igMjoKvy3HIkzGd3EQ9vSK4SoAIeX+dv33kmvcp1wS7io2LQD/edhtBM2fKTwIJdooJUsFs1V+Sr0mOkUs4u36PnzBg08goYts8/XE6hYwhHAdXVU6h1fLD/GOCSoh1XXyCehSEecY= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+44969+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1565151632676369.2501897841096; Tue, 6 Aug 2019 21:20:32 -0700 (PDT) Return-Path: X-Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by groups.io with SMTP; Tue, 06 Aug 2019 21:20:31 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Aug 2019 21:20:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,356,1559545200"; d="scan'208";a="185866529" X-Received: from mdkinney-mobl2.amr.corp.intel.com ([10.254.50.26]) by orsmga002.jf.intel.com with ESMTP; 06 Aug 2019 21:20:30 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Jordan Justen , Andrew Fish , Ray Ni Subject: [edk2-devel] [Patch 3/3] EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES Date: Tue, 6 Aug 2019 21:20:27 -0700 Message-Id: <20190807042028.21988-4-michael.d.kinney@intel.com> In-Reply-To: <20190807042028.21988-1-michael.d.kinney@intel.com> References: <20190807042028.21988-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,michael.d.kinney@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1565151632; bh=hLu/6SDlUM62wCK6TfYwD25PKAy5KHe9VtvDfmxwjcU=; h=Cc:Date:From:Reply-To:Subject:To; b=nPGLU3BLLkuuk2N3icwV8+E/nTkluk4Sn/njLnrVjjwT3pRrM5fCQrxKhGQweupDyzI lOBq+yCMv0e0jAFQ4CNXewXRlOVCEYquZuvcCAycdvB0QPwOfIWf3XRBs0rlp2yMG71QF zKZHcAyqpCJ6VqKU/ujsZQrRkosze8+kkO8= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" https://bugzilla.tianocore.org/show_bug.cgi?id=3D162 Update EmulatorPkg specific modules and libraries to use safe string functions in BaseLib and safe PcdSetxx() functions in PcdLib. With these updates, the define DISABLE_NEW_DEPRECATED_INTERFACES is enabled in the DSC file. Cc: Jordan Justen Cc: Andrew Fish Cc: Ray Ni Signed-off-by: Michael D Kinney --- EmulatorPkg/EmuBusDriverDxe/EmuBusDriverDxe.c | 9 +- EmulatorPkg/EmulatorPkg.dsc | 6 +- EmulatorPkg/FlashMapPei/FlashMapPei.c | 8 +- EmulatorPkg/Library/SmbiosLib/SmbiosLib.c | 4 +- .../ThunkProtocolList/ThunkProtocolList.c | 11 +- EmulatorPkg/Unix/Host/BerkeleyPacketFilter.c | 8 +- EmulatorPkg/Unix/Host/PosixFileSystem.c | 30 ++++- EmulatorPkg/Unix/Host/X11GraphicsWindow.c | 4 +- EmulatorPkg/Win/Host/WinFileSystem.c | 116 ++++++++++++------ 9 files changed, 138 insertions(+), 58 deletions(-) diff --git a/EmulatorPkg/EmuBusDriverDxe/EmuBusDriverDxe.c b/EmulatorPkg/Em= uBusDriverDxe/EmuBusDriverDxe.c index 0bf6e723a1..d8380f2be9 100644 --- a/EmulatorPkg/EmuBusDriverDxe/EmuBusDriverDxe.c +++ b/EmulatorPkg/EmuBusDriverDxe/EmuBusDriverDxe.c @@ -1,7 +1,7 @@ /** @file Emu Bus driver =20 -Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
Portions copyright (c) 2011, Apple Inc. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -256,7 +256,12 @@ EmuBusDriverBindingStart ( =20 EmuDevice->ControllerNameTable =3D NULL; =20 - StrnCpy (ComponentName, EmuIoThunk->ConfigString, sizeof (ComponentN= ame)/sizeof (CHAR16)); + StrnCpyS ( + ComponentName, + sizeof (ComponentName) / sizeof (CHAR16), + EmuIoThunk->ConfigString, + sizeof (ComponentName) / sizeof (CHAR16) + ); =20 EmuDevice->DevicePath =3D EmuBusCreateDevicePath ( ParentDevicePath, diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc index c9e4a5b34d..39a6658427 100644 --- a/EmulatorPkg/EmulatorPkg.dsc +++ b/EmulatorPkg/EmulatorPkg.dsc @@ -412,10 +412,14 @@ [Components] !include NetworkPkg/Network.dsc.inc =20 [BuildOptions] + # + # Disable deprecated APIs. + # + *_*_*_CC_FLAGS =3D -D DISABLE_NEW_DEPRECATED_INTERFACES + MSFT:DEBUG_*_*_CC_FLAGS =3D /Od /Oy- MSFT:NOOPT_*_*_CC_FLAGS =3D /Od /Oy- =20 MSFT:*_*_*_DLINK_FLAGS =3D /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CO= NSOLE MSFT:DEBUG_*_*_DLINK_FLAGS =3D /EXPORT:InitializeDriver=3D$(IMAGE_ENTRY_= POINT) /BASE:0x10000 MSFT:NOOPT_*_*_DLINK_FLAGS =3D /EXPORT:InitializeDriver=3D$(IMAGE_ENTRY_= POINT) /BASE:0x10000 - diff --git a/EmulatorPkg/FlashMapPei/FlashMapPei.c b/EmulatorPkg/FlashMapPe= i/FlashMapPei.c index 2a468e43ac..7744065dd6 100644 --- a/EmulatorPkg/FlashMapPei/FlashMapPei.c +++ b/EmulatorPkg/FlashMapPei/FlashMapPei.c @@ -1,7 +1,7 @@ /*++ @file PEIM to build GUIDed HOBs for platform specific flash map =20 -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
Portions copyright (c) 2011, Apple Inc. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -69,9 +69,9 @@ Returns: return Status; } =20 - PcdSet64 (PcdFlashNvStorageVariableBase64, PcdGet64 (PcdEmuFlashNvStorag= eVariableBase) + FdFixUp); - PcdSet64 (PcdFlashNvStorageFtwWorkingBase64, PcdGet64 (PcdEmuFlashNvStor= ageFtwWorkingBase) + FdFixUp); - PcdSet64 (PcdFlashNvStorageFtwSpareBase64, PcdGet64 (PcdEmuFlashNvStorag= eFtwSpareBase) + FdFixUp); + PcdSet64S (PcdFlashNvStorageVariableBase64, PcdGet64 (PcdEmuFlashNvStora= geVariableBase) + FdFixUp); + PcdSet64S (PcdFlashNvStorageFtwWorkingBase64, PcdGet64 (PcdEmuFlashNvSto= rageFtwWorkingBase) + FdFixUp); + PcdSet64S (PcdFlashNvStorageFtwSpareBase64, PcdGet64 (PcdEmuFlashNvStora= geFtwSpareBase) + FdFixUp); =20 return EFI_SUCCESS; } diff --git a/EmulatorPkg/Library/SmbiosLib/SmbiosLib.c b/EmulatorPkg/Librar= y/SmbiosLib/SmbiosLib.c index 331122e200..3acbb23644 100644 --- a/EmulatorPkg/Library/SmbiosLib/SmbiosLib.c +++ b/EmulatorPkg/Library/SmbiosLib/SmbiosLib.c @@ -4,7 +4,7 @@ =20 =20 Copyright (c) 2012, Apple Inc. All rights reserved. -Portitions Copyright (c) 2006 - 2012, Intel Corporation. All rights reserv= ed.
+Portitions Copyright (c) 2006 - 2019, Intel Corporation. All rights reserv= ed.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -223,7 +223,7 @@ SmbiosLibUpdateUnicodeString ( if (Ascii =3D=3D NULL) { return EFI_OUT_OF_RESOURCES; } - UnicodeStrToAsciiStr (String, Ascii); + UnicodeStrToAsciiStrS (String, Ascii, StrSize (String)); =20 StringIndex =3D StringNumber; Status =3D gSmbios->UpdateString (gSmbios, &SmbiosHandle, &StringIndex, = Ascii); diff --git a/EmulatorPkg/Library/ThunkProtocolList/ThunkProtocolList.c b/Em= ulatorPkg/Library/ThunkProtocolList/ThunkProtocolList.c index b7aacc851c..3a7b6d1ceb 100644 --- a/EmulatorPkg/Library/ThunkProtocolList/ThunkProtocolList.c +++ b/EmulatorPkg/Library/ThunkProtocolList/ThunkProtocolList.c @@ -2,7 +2,7 @@ Emulator Thunk to abstract OS services from pure EFI code =20 Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.
- Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
+ Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -37,6 +37,7 @@ AddThunkProtocol ( IN BOOLEAN EmuBusDriver ) { + UINTN Size; CHAR16 *StartString; CHAR16 *SubString; UINTN Instance; @@ -47,8 +48,12 @@ AddThunkProtocol ( } =20 Instance =3D 0; - StartString =3D AllocatePool (StrSize (ConfigString)); - StrCpy (StartString, ConfigString); + Size =3D StrSize (ConfigString); + StartString =3D AllocatePool (Size); + if (StartString =3D=3D NULL) { + return EFI_OUT_OF_RESOURCES; + } + StrCpyS (StartString, Size / sizeof (CHAR16), ConfigString); while (*StartString !=3D '\0') { =20 // diff --git a/EmulatorPkg/Unix/Host/BerkeleyPacketFilter.c b/EmulatorPkg/Uni= x/Host/BerkeleyPacketFilter.c index e318a90740..18cb3831a4 100644 --- a/EmulatorPkg/Unix/Host/BerkeleyPacketFilter.c +++ b/EmulatorPkg/Unix/Host/BerkeleyPacketFilter.c @@ -4,7 +4,7 @@ =20 Tested on Mac OS X. =20 -Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
Portitions copyright (c) 2011, Apple Inc. All rights reserved. =20 SPDX-License-Identifier: BSD-2-Clause-Patent @@ -1016,7 +1016,11 @@ GetInterfaceMacAddr ( goto Exit; } =20 - UnicodeStrToAsciiStr (Private->Thunk->ConfigString, Private->InterfaceNa= me); + UnicodeStrToAsciiStrS ( + Private->Thunk->ConfigString, + Private->InterfaceName, + StrSize (Private->Thunk->ConfigString) + ); =20 Status =3D EFI_NOT_FOUND; If =3D IfAddrs; diff --git a/EmulatorPkg/Unix/Host/PosixFileSystem.c b/EmulatorPkg/Unix/Hos= t/PosixFileSystem.c index 6ba3b59d7a..b2b2d011c9 100644 --- a/EmulatorPkg/Unix/Host/PosixFileSystem.c +++ b/EmulatorPkg/Unix/Host/PosixFileSystem.c @@ -1017,7 +1017,11 @@ PosixFileGetInfo ( FileSystemInfoBuffer->BlockSize =3D buf.f_bsize; =20 =20 - StrCpy ((CHAR16 *) FileSystemInfoBuffer->VolumeLabel, PrivateRoot->Vol= umeLabel); + StrCpyS ( + (CHAR16 *) FileSystemInfoBuffer->VolumeLabel, + StrSize (PrivateRoot->VolumeLabel) / sizeof (CHAR16), + PrivateRoot->VolumeLabel + ); *BufferSize =3D SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->V= olumeLabel); =20 } else if (CompareGuid (InformationType, &gEfiFileSystemVolumeLabelInfoI= dGuid)) { @@ -1026,7 +1030,11 @@ PosixFileGetInfo ( return EFI_BUFFER_TOO_SMALL; } =20 - StrCpy ((CHAR16 *) Buffer, PrivateRoot->VolumeLabel); + StrCpyS ( + (CHAR16 *) Buffer, + StrSize (PrivateRoot->VolumeLabel) / sizeof (CHAR16), + PrivateRoot->VolumeLabel + ); *BufferSize =3D StrSize (PrivateRoot->VolumeLabel); =20 } @@ -1110,7 +1118,11 @@ PosixFileSetInfo ( goto Done; } =20 - StrCpy (PrivateRoot->VolumeLabel, NewFileSystemInfo->VolumeLabel); + StrCpyS ( + PrivateRoot->VolumeLabel, + StrSize (NewFileSystemInfo->VolumeLabel) / sizeof (CHAR16), + NewFileSystemInfo->VolumeLabel + ); =20 Status =3D EFI_SUCCESS; goto Done; @@ -1125,7 +1137,11 @@ PosixFileSetInfo ( goto Done; } =20 - StrCpy (PrivateRoot->VolumeLabel, (CHAR16 *) Buffer); + StrCpyS ( + PrivateRoot->VolumeLabel, + StrSize (PrivateRoot->VolumeLabel) / sizeof (CHAR16), + (CHAR16 *) Buffer + ); =20 Status =3D EFI_SUCCESS; goto Done; @@ -1493,7 +1509,11 @@ PosixFileSystmeThunkOpen ( free (Private); return EFI_OUT_OF_RESOURCES; } - StrCpy (Private->VolumeLabel, L"EFI_EMULATED"); + StrCpyS ( + Private->VolumeLabel, + StrSize (L"EFI_EMULATED") / sizeof (CHAR16), + L"EFI_EMULATED" + ); =20 Private->Signature =3D EMU_SIMPLE_FILE_SYSTEM_PRIVATE_SIGNATURE; Private->Thunk =3D This; diff --git a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c b/EmulatorPkg/Unix/H= ost/X11GraphicsWindow.c index 9d03c13011..5325a0e35b 100644 --- a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c +++ b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c @@ -1,6 +1,6 @@ /*++ @file =20 -Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent @@ -957,7 +957,7 @@ X11GraphicsWindowOpen ( XDefineCursor (Drv->display, Drv->win, XCreateFontCursor (Drv->display, = XC_pirate)); =20 Drv->Title =3D malloc (StrSize (This->ConfigString)); - UnicodeStrToAsciiStr (This->ConfigString, Drv->Title); + UnicodeStrToAsciiStrS (This->ConfigString, Drv->Title, StrSize (This->Co= nfigString)); XStoreName (Drv->display, Drv->win, Drv->Title); =20 // XAutoRepeatOff (Drv->display); diff --git a/EmulatorPkg/Win/Host/WinFileSystem.c b/EmulatorPkg/Win/Host/Wi= nFileSystem.c index da6595228d..bb64439007 100644 --- a/EmulatorPkg/Win/Host/WinFileSystem.c +++ b/EmulatorPkg/Win/Host/WinFileSystem.c @@ -1,7 +1,7 @@ /*++ @file Support OS native directory access. =20 -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 =20 @@ -205,8 +205,14 @@ WinNtOpenVolume ( goto Done; } =20 - StrCpy (PrivateFile->FilePath, Private->FilePath); - StrCpy (PrivateFile->FileName, PrivateFile->FilePath); + StrCpyS (PrivateFile->FilePath, + StrSize (Private->FilePath) / sizeof (CHAR16), + Private->FilePath + ); + StrCpyS (PrivateFile->FileName, + StrSize (Private->FilePath) / sizeof (CHAR16), + PrivateFile->FilePath + ); PrivateFile->Signature =3D WIN_NT_EFI_FILE_PRIVATE_SIGNATURE; PrivateFile->Thunk =3D Private->Thunk; PrivateFile->SimpleFileSystem =3D This; @@ -243,8 +249,8 @@ WinNtOpenVolume ( if (TempFileName =3D=3D NULL) { goto Done; } - StrCpy (TempFileName, PrivateFile->FilePath); - StrCat (TempFileName, L"\\*"); + StrCpyS (TempFileName, Size / sizeof (CHAR16), PrivateFile->FilePath); + StrCatS (TempFileName, Size / sizeof (CHAR16), L"\\*"); =20 PrivateFile->LHandle =3D FindFirstFile (TempFileName, &PrivateFile->Find= Buf); FreePool (TempFileName); @@ -362,7 +368,7 @@ GetNextFileNameToken ( } else { Offset =3D SlashPos - *FileName; Token =3D AllocateZeroPool ((Offset + 1) * sizeof (CHAR16)); - StrnCpy (Token, *FileName, Offset); + StrnCpyS (Token, Offset + 1, *FileName, Offset); // // Point *FileName to the next character after L'\'. // @@ -496,7 +502,7 @@ WinNtFileOpen ( if (TempFileName =3D=3D NULL) { return EFI_OUT_OF_RESOURCES; } - StrCpy (TempFileName, FileName); + StrCpyS (TempFileName, StrSize (FileName) / sizeof (CHAR16), FileName); FileName =3D TempFileName; =20 if (FileName[StrLen (FileName) - 1] =3D=3D L'\\') { @@ -548,9 +554,17 @@ WinNtFileOpen ( } =20 if (PrivateFile->IsDirectoryPath) { - StrCpy (NewPrivateFile->FilePath, PrivateFile->FileName); + StrCpyS ( + NewPrivateFile->FilePath, + StrSize (PrivateFile->FileName) / sizeof (CHAR16), + PrivateFile->FileName + ); } else { - StrCpy (NewPrivateFile->FilePath, PrivateFile->FilePath); + StrCpyS ( + NewPrivateFile->FilePath, + StrSize (PrivateFile->FileName) / sizeof (CHAR16), + PrivateFile->FilePath + ); } =20 Size =3D StrSize (NewPrivateFile->FilePath); @@ -563,17 +577,17 @@ WinNtFileOpen ( } =20 if (*FileName =3D=3D L'\\') { - StrCpy (NewPrivateFile->FileName, PrivateRoot->FilePath); - StrCat (NewPrivateFile->FileName, L"\\"); - StrCat (NewPrivateFile->FileName, FileName + 1); + StrCpyS (NewPrivateFile->FileName, Size / sizeof (CHAR16), PrivateRoot= ->FilePath); + StrCatS (NewPrivateFile->FileName, Size / sizeof (CHAR16), L"\\"); + StrCatS (NewPrivateFile->FileName, Size / sizeof (CHAR16), FileName + = 1); } else { - StrCpy (NewPrivateFile->FileName, NewPrivateFile->FilePath); + StrCpyS (NewPrivateFile->FileName, Size / sizeof (CHAR16), NewPrivateF= ile->FilePath); if (StrCmp (FileName, L"") !=3D 0) { // // In case the filename becomes empty, especially after trimming dot= s and blanks // - StrCat (NewPrivateFile->FileName, L"\\"); - StrCat (NewPrivateFile->FileName, FileName); + StrCatS (NewPrivateFile->FileName, Size, L"\\"); + StrCatS (NewPrivateFile->FileName, Size, FileName); } } =20 @@ -657,7 +671,11 @@ WinNtFileOpen ( goto Done; } =20 - StrCpy (NewPrivateFile->FilePath, NewPrivateFile->FileName); + StrCpyS ( + NewPrivateFile->FilePath, + StrSize (NewPrivateFile->FileName) / sizeof (CHAR16), + NewPrivateFile->FileName + ); if (TempChar !=3D 0) { *(RealFileName - 1) =3D TempChar; } @@ -715,7 +733,7 @@ WinNtFileOpen ( goto Done; } =20 - StrCpy (TempFileName, NewPrivateFile->FileName); + StrCpyS (TempFileName, Size / sizeof (CHAR16), NewPrivateFile->FileNam= e); =20 if ((OpenMode & EFI_FILE_MODE_CREATE)) { // @@ -769,7 +787,7 @@ WinNtFileOpen ( // // Find the first file under it // - StrCat (TempFileName, L"\\*"); + StrCatS (TempFileName, Size, L"\\*"); NewPrivateFile->LHandle =3D FindFirstFile (TempFileName, &NewPrivateFi= le->FindBuf); FreePool (TempFileName); =20 @@ -1330,8 +1348,8 @@ WinNtFileSetPossition ( goto Done; } =20 - StrCpy (FileName, PrivateFile->FileName); - StrCat (FileName, L"\\*"); + StrCpyS (FileName, Size / sizeof (CHAR16), PrivateFile->FileName); + StrCatS (FileName, Size / sizeof (CHAR16), L"\\*"); =20 if (PrivateFile->LHandle !=3D INVALID_HANDLE_VALUE) { FindClose (PrivateFile->LHandle); @@ -1599,7 +1617,11 @@ WinNtFileGetInfo ( goto Done; } =20 - StrCpy (DriveName, PrivateFile->FilePath); + StrCpyS ( + DriveName, + (StrSize (PrivateFile->FilePath) + 1) / sizeof (CHAR16), + PrivateFile->FilePath + ); for (Index =3D 0; DriveName[Index] !=3D 0 && DriveName[Index] !=3D ':'= ; Index++) { ; } @@ -1664,7 +1686,11 @@ WinNtFileGetInfo ( } } =20 - StrCpy ((CHAR16 *)FileSystemInfoBuffer->VolumeLabel, PrivateRoot->Volu= meLabel); + StrCpyS ( + (CHAR16 *)FileSystemInfoBuffer->VolumeLabel, + (StrSize (PrivateRoot->VolumeLabel) + 1) / sizeof (CHAR16), + PrivateRoot->VolumeLabel + ); *BufferSize =3D SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->V= olumeLabel); Status =3D EFI_SUCCESS; } @@ -1676,7 +1702,11 @@ WinNtFileGetInfo ( goto Done; } =20 - StrCpy ((CHAR16 *)Buffer, PrivateRoot->VolumeLabel); + StrCpyS ( + (CHAR16 *)Buffer, + StrSize (PrivateRoot->VolumeLabel) / sizeof (CHAR16), + PrivateRoot->VolumeLabel + ); *BufferSize =3D StrSize (PrivateRoot->VolumeLabel); Status =3D EFI_SUCCESS; } @@ -1768,7 +1798,11 @@ WinNtFileSetInfo ( goto Done; } =20 - StrCpy (PrivateRoot->VolumeLabel, NewFileSystemInfo->VolumeLabel); + StrCpyS ( + PrivateRoot->VolumeLabel, + StrSize (NewFileSystemInfo->VolumeLabel) / sizeof (CHAR16), + NewFileSystemInfo->VolumeLabel + ); =20 Status =3D EFI_SUCCESS; goto Done; @@ -1783,7 +1817,11 @@ WinNtFileSetInfo ( goto Done; } =20 - StrCpy (PrivateRoot->VolumeLabel, (CHAR16 *)Buffer); + StrCpyS ( + PrivateRoot->VolumeLabel, + StrSize (PrivateRoot->VolumeLabel) / sizeof (CHAR16), + (CHAR16 *)Buffer + ); =20 Status =3D EFI_SUCCESS; goto Done; @@ -1852,7 +1890,11 @@ WinNtFileSetInfo ( goto Done; } =20 - StrCpy (OldFileName, PrivateFile->FileName); + StrCpyS ( + OldFileName, + StrSize (PrivateFile->FileName) / sizeof (CHAR16), + PrivateFile->FileName + ); =20 // // Make full pathname from new filename and rootpath. @@ -1867,9 +1909,9 @@ WinNtFileSetInfo ( goto Done; } =20 - StrCpy (NewFileName, PrivateRoot->FilePath); - StrCat (NewFileName, L"\\"); - StrCat (NewFileName, NewFileInfo->FileName + 1); + StrCpyS (NewFileName, Size / sizeof (CHAR16), PrivateRoot->FilePath); + StrCatS (NewFileName, Size / sizeof (CHAR16), L"\\"); + StrCatS (NewFileName, Size / sizeof (CHAR16), NewFileInfo->FileName + = 1); } else { Size =3D StrSize (PrivateFile->FilePath); Size +=3D StrSize (L"\\"); @@ -1880,9 +1922,9 @@ WinNtFileSetInfo ( goto Done; } =20 - StrCpy (NewFileName, PrivateFile->FilePath); - StrCat (NewFileName, L"\\"); - StrCat (NewFileName, NewFileInfo->FileName); + StrCpyS (NewFileName, Size, PrivateFile->FilePath); + StrCatS (NewFileName, Size, L"\\"); + StrCatS (NewFileName, Size, NewFileInfo->FileName); } =20 // @@ -1990,13 +2032,13 @@ WinNtFileSetInfo ( goto Done; } =20 - StrCpy (PrivateFile->FileName, NewFileName); + StrCpyS (PrivateFile->FileName, StrSize (NewFileName) / sizeof (CHAR= 16), NewFileName); =20 Size =3D StrSize (NewFileName); Size +=3D StrSize (L"\\*"); TempFileName =3D AllocatePool (Size); =20 - StrCpy (TempFileName, NewFileName); + StrCpyS (TempFileName, Size / sizeof (CHAR16), NewFileName); =20 if (!PrivateFile->IsDirectoryPath) { PrivateFile->LHandle =3D CreateFile ( @@ -2029,7 +2071,7 @@ WinNtFileSetInfo ( NULL ); =20 - StrCat (TempFileName, L"\\*"); + StrCatS (TempFileName, Size, L"\\*"); PrivateFile->LHandle =3D FindFirstFile (TempFileName, &FindBuf); =20 FreePool (TempFileName); @@ -2048,7 +2090,7 @@ WinNtFileSetInfo ( Size +=3D StrSize (L"\\*"); TempFileName =3D AllocatePool (Size); =20 - StrCpy (TempFileName, OldFileName); + StrCpyS (TempFileName, Size / sizeof (CHAR16), OldFileName); =20 if (!PrivateFile->IsDirectoryPath) { PrivateFile->LHandle =3D CreateFile ( @@ -2071,7 +2113,7 @@ WinNtFileSetInfo ( NULL ); =20 - StrCat (TempFileName, L"\\*"); + StrCatS (TempFileName, Size, L"\\*"); PrivateFile->LHandle =3D FindFirstFile (TempFileName, &FindBuf); } =20 --=20 2.21.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#44969): https://edk2.groups.io/g/devel/message/44969 Mute This Topic: https://groups.io/mt/32779288/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-