diff options
Diffstat (limited to 'src/mscorlib/src/System/Text/BaseCodePageEncoding.cs')
-rw-r--r-- | src/mscorlib/src/System/Text/BaseCodePageEncoding.cs | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/src/mscorlib/src/System/Text/BaseCodePageEncoding.cs b/src/mscorlib/src/System/Text/BaseCodePageEncoding.cs index 4c9ca6eaaf..0a42237dc1 100644 --- a/src/mscorlib/src/System/Text/BaseCodePageEncoding.cs +++ b/src/mscorlib/src/System/Text/BaseCodePageEncoding.cs @@ -6,6 +6,7 @@ namespace System.Text { using System; + using System.Diagnostics; using System.Diagnostics.Contracts; using System.Globalization; using System.Runtime.InteropServices; @@ -72,7 +73,6 @@ namespace System.Text [NonSerialized] protected bool m_bUseMlangTypeForSerialization = false; - [System.Security.SecuritySafeCritical] // static constructors should be safe to call static BaseCodePageEncoding() { } @@ -136,32 +136,26 @@ namespace System.Text } // Initialize our global stuff - [SecurityCritical] unsafe static CodePageDataFileHeader* m_pCodePageFileHeader = (CodePageDataFileHeader*)GlobalizationAssembly.GetGlobalizationResourceBytePtr( typeof(CharUnicodeInfo).Assembly, CODE_PAGE_DATA_FILE_NAME); // Real variables [NonSerialized] - [SecurityCritical] unsafe protected CodePageHeader* pCodePage = null; // Safe handle wrapper around section map view - [System.Security.SecurityCritical] // auto-generated [NonSerialized] protected SafeViewOfFileHandle safeMemorySectionHandle = null; // Safe handle wrapper around mapped file handle - [System.Security.SecurityCritical] // auto-generated [NonSerialized] protected SafeFileMappingHandle safeFileMappingHandle = null; - [System.Security.SecurityCritical] // auto-generated internal BaseCodePageEncoding(int codepage) : this(codepage, codepage) { } - [System.Security.SecurityCritical] // auto-generated internal BaseCodePageEncoding(int codepage, int dataCodePage) : base(codepage == 0? Microsoft.Win32.Win32Native.GetACP(): codepage) { @@ -171,7 +165,6 @@ namespace System.Text } // Constructor called by serialization. - [System.Security.SecurityCritical] // auto-generated internal BaseCodePageEncoding(SerializationInfo info, StreamingContext context) : base(0) { // We cannot ever call this, we've proxied ourselved to CodePageEncoding @@ -179,12 +172,11 @@ namespace System.Text } // ISerializable implementation - [System.Security.SecurityCritical] // auto-generated_required void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { // Make sure to get the base stuff too This throws if info is null SerializeEncoding(info, context); - Contract.Assert(info!=null, "[BaseCodePageEncoding.GetObjectData] Expected null info to throw"); + Debug.Assert(info!=null, "[BaseCodePageEncoding.GetObjectData] Expected null info to throw"); // Just need Everett maxCharSize (BaseCodePageEncoding) or m_maxByteSize (MLangBaseCodePageEncoding) info.AddValue(m_bUseMlangTypeForSerialization ? "m_maxByteSize" : "maxCharSize", @@ -196,7 +188,6 @@ namespace System.Text } // We need to load tables for our code page - [System.Security.SecurityCritical] // auto-generated private unsafe void LoadCodePageTables() { CodePageHeader* pCodePage = FindCodePage(dataTableCodePage); @@ -217,7 +208,6 @@ namespace System.Text } // Look up the code page pointer - [System.Security.SecurityCritical] // auto-generated private static unsafe CodePageHeader* FindCodePage(int codePage) { // We'll have to loop through all of the m_pCodePageIndex[] items to find our code page, this isn't @@ -240,7 +230,6 @@ namespace System.Text } // Get our code page byte count - [System.Security.SecurityCritical] // auto-generated internal static unsafe int GetCodePageByteSize(int codePage) { // Get our code page info @@ -250,18 +239,16 @@ namespace System.Text if (pCodePage == null) return 0; - Contract.Assert(pCodePage->ByteCount == 1 || pCodePage->ByteCount == 2, + Debug.Assert(pCodePage->ByteCount == 1 || pCodePage->ByteCount == 2, "[BaseCodePageEncoding] Code page (" + codePage + ") has invalid byte size (" + pCodePage->ByteCount + ") in table"); // Return what it says for byte count return pCodePage->ByteCount; } // We have a managed code page entry, so load our tables - [System.Security.SecurityCritical] protected abstract unsafe void LoadManagedCodePage(); // Allocate memory to load our code page - [System.Security.SecurityCritical] // auto-generated protected unsafe byte* GetSharedMemory(int iSize) { // Build our name @@ -271,7 +258,7 @@ namespace System.Text // This gets shared memory for our map. If its can't, it gives us clean memory. Byte *pMemorySection = EncodingTable.nativeCreateOpenFileMapping(strName, iSize, out mappedFileHandle); - Contract.Assert(pMemorySection != null, + Debug.Assert(pMemorySection != null, "[BaseCodePageEncoding.GetSharedMemory] Expected non-null memory section to be opened"); // If that failed, we have to die. @@ -291,7 +278,6 @@ namespace System.Text return pMemorySection; } - [System.Security.SecurityCritical] // auto-generated protected unsafe virtual String GetMemorySectionName() { int iUseCodePage = this.bFlagDataTable ? dataTableCodePage : CodePage; @@ -303,29 +289,26 @@ namespace System.Text return strName; } - [System.Security.SecurityCritical] protected abstract unsafe void ReadBestFitTable(); - [System.Security.SecuritySafeCritical] internal override char[] GetBestFitUnicodeToBytesData() { // Read in our best fit table if necessary if (arrayUnicodeBestFit == null) ReadBestFitTable(); - Contract.Assert(arrayUnicodeBestFit != null, + Debug.Assert(arrayUnicodeBestFit != null, "[BaseCodePageEncoding.GetBestFitUnicodeToBytesData]Expected non-null arrayUnicodeBestFit"); // Normally we don't have any best fit data. return arrayUnicodeBestFit; } - [System.Security.SecuritySafeCritical] internal override char[] GetBestFitBytesToUnicodeData() { // Read in our best fit table if necessary if (arrayBytesBestFit == null) ReadBestFitTable(); - Contract.Assert(arrayBytesBestFit != null, + Debug.Assert(arrayBytesBestFit != null, "[BaseCodePageEncoding.GetBestFitBytesToUnicodeData]Expected non-null arrayBytesBestFit"); // Normally we don't have any best fit data. @@ -336,7 +319,6 @@ namespace System.Text // is invalid. so we detect that by validating the memory section handle then re-initialize the memory // section by calling LoadManagedCodePage() method and eventually the mapped file handle and // the memory section pointer will get finalized one more time. - [System.Security.SecurityCritical] // auto-generated internal unsafe void CheckMemorySection() { if (safeMemorySectionHandle != null && safeMemorySectionHandle.DangerousGetHandle() == IntPtr.Zero) |