Skip to content

Commit b1147e0

Browse files
committed
Fix NRE in new abstract dictionary serializers.
1 parent 44bb7db commit b1147e0

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/MsgPack/Serialization/CollectionSerializers/DictionaryMessagePackSerializer`3.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@ public abstract class DictionaryMessagePackSerializer<TDictionary, TKey, TValue>
5454
protected DictionaryMessagePackSerializer( SerializationContext ownerContext, PolymorphismSchema schema )
5555
: base( ownerContext )
5656
{
57-
this._keySerializer = ownerContext.GetSerializer<TKey>( schema.KeySchema );
58-
this._valueSerializer = ownerContext.GetSerializer<TValue>( schema.ItemSchema );
57+
var safeSchema = schema ?? PolymorphismSchema.Default;
58+
this._keySerializer = ownerContext.GetSerializer<TKey>( safeSchema.KeySchema );
59+
this._valueSerializer = ownerContext.GetSerializer<TValue>( safeSchema.ItemSchema );
5960
}
6061

6162
/// <summary>

src/MsgPack/Serialization/CollectionSerializers/NonGenericDictionaryMessagePackSerializer`1.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ public abstract class NonGenericDictionaryMessagePackSerializer<TDictionary> : M
5252
protected NonGenericDictionaryMessagePackSerializer( SerializationContext ownerContext, PolymorphismSchema schema )
5353
: base( ownerContext )
5454
{
55-
this._keySerializer = ownerContext.GetSerializer( typeof( object ), schema.KeySchema );
56-
this._valueSerializer = ownerContext.GetSerializer( typeof( object ), schema.ItemSchema );
55+
var safeSchema = schema ?? PolymorphismSchema.Default;
56+
this._keySerializer = ownerContext.GetSerializer( typeof( object ), safeSchema.KeySchema );
57+
this._valueSerializer = ownerContext.GetSerializer( typeof( object ), safeSchema.ItemSchema );
5758
}
5859

5960
/// <summary>

0 commit comments

Comments
 (0)