diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e51cc64031d..311b4674881 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -7,186 +7,186 @@ Note: if the Uri is a new place, you will need to add a subscription from that p --> - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 - + https://github.com/dotnet/runtime - fe3d5b5f7039e9f38f022dac77aeb6f01025b19d + 5b9b8d3ae6aaf2a0eb23ff9e2b32ddd64556d442 diff --git a/eng/Versions.props b/eng/Versions.props index 299b6fbcd6f..efa030442fd 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -13,37 +13,37 @@ - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 5.0.0-preview.7.20320.5 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 6.1.0-preview.1.24511.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 - 10.0.0-alpha.1.24577.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 + 10.0.0-alpha.1.24601.1 diff --git a/global.json b/global.json index a444c73e7a3..a1ab8d79655 100644 --- a/global.json +++ b/global.json @@ -18,7 +18,7 @@ "Microsoft.DotNet.CMake.Sdk": "10.0.0-beta.24576.1", "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.24576.1", "FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0", - "Microsoft.NET.Sdk.IL": "10.0.0-alpha.1.24577.1" + "Microsoft.NET.Sdk.IL": "10.0.0-alpha.1.24601.1" }, "native-tools": { "cmake": "latest" diff --git a/src/System.Private.Windows.Core/src/System/Private/Windows/Core/Nrbf/SerializationRecordExtensions.cs b/src/System.Private.Windows.Core/src/System/Private/Windows/Core/Nrbf/SerializationRecordExtensions.cs index b01463fafa0..80f0f584c81 100644 --- a/src/System.Private.Windows.Core/src/System/Private/Windows/Core/Nrbf/SerializationRecordExtensions.cs +++ b/src/System.Private.Windows.Core/src/System/Private/Windows/Core/Nrbf/SerializationRecordExtensions.cs @@ -356,22 +356,30 @@ static bool Get(SerializationRecord record, [NotNullWhen(true)] out object? valu || !classInfo.HasMember("_items") || !classInfo.HasMember("_size") || classInfo.GetRawValue("_size") is not int size - || classInfo.GetRawValue("_items") is not SZArrayRecord arrayRecord + || classInfo.GetRawValue("_items") is not SZArrayRecord arrayRecord || size > arrayRecord.Length) { return false; } ArrayList arrayList = new(size); - object?[] array = arrayRecord.GetArray(); + SerializationRecord?[] array = arrayRecord.GetArray(); for (int i = 0; i < size; i++) { - if (array[i] is SerializationRecord) + SerializationRecord? elementRecord = array[i]; + if (elementRecord is null) { + arrayList.Add(null); + } + else if (elementRecord is PrimitiveTypeRecord primitiveTypeRecord) + { + arrayList.Add(primitiveTypeRecord.Value); + } + else + { + // It was a complex type (represented as a ClassRecord or an ArrayRecord) return false; } - - arrayList.Add(array[i]); } value = arrayList; @@ -447,27 +455,39 @@ static bool Get(SerializationRecord record, [NotNullWhen(true)] out object? hash || !classInfo.HasMember("Values") // Note that hashtables with custom comparers and/or hash code providers will have non null Comparer || classInfo.GetSerializationRecord("Comparer") is not null - || classInfo.GetSerializationRecord("Keys") is not SZArrayRecord keysRecord - || classInfo.GetSerializationRecord("Values") is not SZArrayRecord valuesRecord + || classInfo.GetSerializationRecord("Keys") is not SZArrayRecord keysRecord + || classInfo.GetSerializationRecord("Values") is not SZArrayRecord valuesRecord || keysRecord.Length != valuesRecord.Length) { return false; } Hashtable temp = new(keysRecord.Length); - object?[] keys = keysRecord.GetArray(); - object?[] values = valuesRecord.GetArray(); + SerializationRecord?[] keys = keysRecord.GetArray(); + SerializationRecord?[] values = valuesRecord.GetArray(); for (int i = 0; i < keys.Length; i++) { - object? key = keys[i]; - object? value = values[i]; + SerializationRecord? key = keys[i]; + SerializationRecord? value = values[i]; - if (key is null or SerializationRecord || value is SerializationRecord) + if (key is null || key is not PrimitiveTypeRecord primitiveKey) { return false; } - temp[key] = value; + if (value is null) + { + temp[primitiveKey.Value] = null; // null values are allowed + } + else if (value is PrimitiveTypeRecord primitiveValue) + { + temp[primitiveKey.Value] = primitiveValue.Value; + } + else + { + // It was a complex type (represented as a ClassRecord or an ArrayRecord) + return false; + } } hashtable = temp;