diff --git a/src/Microsoft.Azure.SignalR.Protocols/ServiceMessage.cs b/src/Microsoft.Azure.SignalR.Protocols/ServiceMessage.cs index db8da8249..4cad32124 100644 --- a/src/Microsoft.Azure.SignalR.Protocols/ServiceMessage.cs +++ b/src/Microsoft.Azure.SignalR.Protocols/ServiceMessage.cs @@ -4,6 +4,7 @@ using System; using System.Buffers; +using System.IO; using MessagePack; @@ -211,6 +212,10 @@ internal void ReadExtensionMembers(ref MessagePackReader reader) // todo : more optional fields default: // bypass unknown member. + if (reader.NextMessagePackType == MessagePackType.Array || reader.NextMessagePackType == MessagePackType.Map) + { + throw new InvalidDataException("No complex data for extension members."); + } reader.Skip(); break; }