diff --git a/src/Microsoft.PackageManagement/providers/inbox/Common/Utility/PathUtility.cs b/src/Microsoft.PackageManagement/providers/inbox/Common/Utility/PathUtility.cs
index 6f4d357ca3..ad4ed28d59 100644
--- a/src/Microsoft.PackageManagement/providers/inbox/Common/Utility/PathUtility.cs
+++ b/src/Microsoft.PackageManagement/providers/inbox/Common/Utility/PathUtility.cs
@@ -192,7 +192,7 @@ namespace Microsoft.PackageManagement.Provider.Utility
#if !CORECLR
Marshal.ZeroFreeGlobalAllocUnicode(value);
#else
- SecureStringMarshal.ZeroFreeCoTaskMemUnicode(value);
+ Marshal.ZeroFreeCoTaskMemUnicode(value);
#endif
}
}
@@ -250,4 +250,4 @@ namespace Microsoft.PackageManagement.Provider.Utility
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Microsoft.PowerShell.Commands.Management/cimSupport/cmdletization/cim/cimConverter.cs b/src/Microsoft.PowerShell.Commands.Management/cimSupport/cmdletization/cim/cimConverter.cs
index 41d28ddbb1..98f35b7041 100644
--- a/src/Microsoft.PowerShell.Commands.Management/cimSupport/cmdletization/cim/cimConverter.cs
+++ b/src/Microsoft.PowerShell.Commands.Management/cimSupport/cmdletization/cim/cimConverter.cs
@@ -96,7 +96,7 @@ namespace Microsoft.PowerShell.Cim
}
finally
{
- ClrFacade.ZeroFreeCoTaskMemUnicode(plainTextString);
+ Marshal.ZeroFreeCoTaskMemUnicode(plainTextString);
}
}
diff --git a/src/Microsoft.PowerShell.Commands.Management/commands/management/Process.cs b/src/Microsoft.PowerShell.Commands.Management/commands/management/Process.cs
index 6efe7c1180..073c1e5fe5 100644
--- a/src/Microsoft.PowerShell.Commands.Management/commands/management/Process.cs
+++ b/src/Microsoft.PowerShell.Commands.Management/commands/management/Process.cs
@@ -2574,7 +2574,7 @@ namespace Microsoft.PowerShell.Commands
{
if (password != IntPtr.Zero)
{
- ClrFacade.ZeroFreeCoTaskMemUnicode(password);
+ Marshal.ZeroFreeCoTaskMemUnicode(password);
}
}
}//end of if
diff --git a/src/Microsoft.PowerShell.Commands.Management/commands/management/Service.cs b/src/Microsoft.PowerShell.Commands.Management/commands/management/Service.cs
index c155a5dad0..df78a5849c 100644
--- a/src/Microsoft.PowerShell.Commands.Management/commands/management/Service.cs
+++ b/src/Microsoft.PowerShell.Commands.Management/commands/management/Service.cs
@@ -2230,7 +2230,7 @@ namespace Microsoft.PowerShell.Commands
{
if (IntPtr.Zero != password)
{
- ClrFacade.ZeroFreeCoTaskMemUnicode(password);
+ Marshal.ZeroFreeCoTaskMemUnicode(password);
}
if (IntPtr.Zero != hService)
diff --git a/src/Microsoft.PowerShell.LocalAccounts/LocalAccounts/Extensions.cs b/src/Microsoft.PowerShell.LocalAccounts/LocalAccounts/Extensions.cs
index 2d43f187c8..fdc8c2c82f 100644
--- a/src/Microsoft.PowerShell.LocalAccounts/LocalAccounts/Extensions.cs
+++ b/src/Microsoft.PowerShell.LocalAccounts/LocalAccounts/Extensions.cs
@@ -160,7 +160,7 @@ namespace System.Management.Automation.SecurityAccountsManager.Extensions
#if CORECLR
IntPtr buffer = SecureStringMarshal.SecureStringToCoTaskMemUnicode(str);
string clear = Marshal.PtrToStringUni(buffer);
- SecureStringMarshal.ZeroFreeCoTaskMemUnicode(buffer);
+ Marshal.ZeroFreeCoTaskMemUnicode(buffer);
#else
var bstr = Marshal.SecureStringToBSTR(str);
string clear = Marshal.PtrToStringAuto(bstr);
@@ -200,4 +200,4 @@ namespace System.Management.Automation.SecurityAccountsManager.Extensions
return ex.MakeErrorRecord(ex.ErrorName, ex.ErrorCategory, target ?? ex.Target);
}
}
-}
\ No newline at end of file
+}
diff --git a/src/System.Management.Automation/engine/Credential.cs b/src/System.Management.Automation/engine/Credential.cs
index 3d15e1cd82..3a6b07a77a 100644
--- a/src/System.Management.Automation/engine/Credential.cs
+++ b/src/System.Management.Automation/engine/Credential.cs
@@ -9,6 +9,7 @@ using System.Net;
using System.Security;
using SafeString=System.String;
using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
using System.Security.Cryptography;
using Microsoft.PowerShell;
@@ -286,7 +287,7 @@ namespace System.Management.Automation
{
if (unmanagedPtr != IntPtr.Zero)
{
- ClrFacade.ZeroFreeCoTaskMemUnicode(unmanagedPtr);
+ Marshal.ZeroFreeCoTaskMemUnicode(unmanagedPtr);
}
}
#else
diff --git a/src/System.Management.Automation/engine/Utils.cs b/src/System.Management.Automation/engine/Utils.cs
index 8fb7d56631..d9fa665494 100644
--- a/src/System.Management.Automation/engine/Utils.cs
+++ b/src/System.Management.Automation/engine/Utils.cs
@@ -179,7 +179,7 @@ namespace System.Management.Automation
{
if (p != IntPtr.Zero)
{
- ClrFacade.ZeroFreeCoTaskMemUnicode(p);
+ Marshal.ZeroFreeCoTaskMemUnicode(p);
}
}
diff --git a/src/System.Management.Automation/engine/remoting/fanin/WSManNativeAPI.cs b/src/System.Management.Automation/engine/remoting/fanin/WSManNativeAPI.cs
index a11eeb9b5a..0947e2d729 100644
--- a/src/System.Management.Automation/engine/remoting/fanin/WSManNativeAPI.cs
+++ b/src/System.Management.Automation/engine/remoting/fanin/WSManNativeAPI.cs
@@ -379,7 +379,7 @@ namespace System.Management.Automation.Remoting.Client
{
if (cred.password != IntPtr.Zero)
{
- ClrFacade.ZeroFreeCoTaskMemUnicode(cred.password);
+ Marshal.ZeroFreeCoTaskMemUnicode(cred.password);
cred.password = IntPtr.Zero;
}
diff --git a/src/System.Management.Automation/security/SecureStringHelper.cs b/src/System.Management.Automation/security/SecureStringHelper.cs
index 50948e91fb..89f777ce78 100644
--- a/src/System.Management.Automation/security/SecureStringHelper.cs
+++ b/src/System.Management.Automation/security/SecureStringHelper.cs
@@ -94,7 +94,7 @@ namespace Microsoft.PowerShell
}
finally
{
- ClrFacade.ZeroFreeCoTaskMemUnicode(ptr);
+ Marshal.ZeroFreeCoTaskMemUnicode(ptr);
}
}
diff --git a/src/System.Management.Automation/utils/ClrFacade.cs b/src/System.Management.Automation/utils/ClrFacade.cs
index 54f6424ac9..1f340b9ee5 100644
--- a/src/System.Management.Automation/utils/ClrFacade.cs
+++ b/src/System.Management.Automation/utils/ClrFacade.cs
@@ -148,7 +148,7 @@ namespace System.Management.Automation
{
if (unmanagedMemory != IntPtr.Zero)
{
- ZeroFreeCoTaskMemUnicode(unmanagedMemory);
+ Marshal.ZeroFreeCoTaskMemUnicode(unmanagedMemory);
}
}
return passwordInClearText;
@@ -213,19 +213,6 @@ namespace System.Management.Automation
#endif
}
- ///
- /// Needed to pair with the SecureStringToCoTaskMemUnicode method which is member of
- /// 'SecureStringMarshal' on CORE CLR, and member of 'Marshal' on Full CLR.
- ///
- internal static void ZeroFreeCoTaskMemUnicode(IntPtr unmanagedStr)
- {
-#if CORECLR
- SecureStringMarshal.ZeroFreeCoTaskMemUnicode(unmanagedStr);
-#else
- Marshal.ZeroFreeCoTaskMemUnicode(unmanagedStr);
-#endif
- }
-
///
/// Facade for SecureStringToCoTaskMemUnicode
///
diff --git a/src/System.Management.Automation/utils/CryptoUtils.cs b/src/System.Management.Automation/utils/CryptoUtils.cs
index 51fb8edf05..bc794d99b4 100644
--- a/src/System.Management.Automation/utils/CryptoUtils.cs
+++ b/src/System.Management.Automation/utils/CryptoUtils.cs
@@ -1023,7 +1023,7 @@ namespace System.Management.Automation.Internal
{
data[i] = Marshal.ReadByte(ptr, i);
}
- ClrFacade.ZeroFreeCoTaskMemUnicode(ptr);
+ Marshal.ZeroFreeCoTaskMemUnicode(ptr);
try
{